blob: 5f75d3c3aad7cc89b39f7fadb4bca1f8e11380b5 [file] [log] [blame]
Pavel Janíkd3903f32012-03-31 12:29:35 +00001#!@PERL@ -w
2#
Andrew Rist81ab6c5d2012-03-31 05:00:05 +00003###############################################################
4#
5# Licensed to the Apache Software Foundation (ASF) under one
6# or more contributor license agreements. See the NOTICE file
7# distributed with this work for additional information
8# regarding copyright ownership. The ASF licenses this file
9# to you under the Apache License, Version 2.0 (the
10# "License"); you may not use this file except in compliance
11# with the License. You may obtain a copy of the License at
12#
13# http://www.apache.org/licenses/LICENSE-2.0
14#
15# Unless required by applicable law or agreed to in writing,
16# software distributed under the License is distributed on an
17# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
18# KIND, either express or implied. See the License for the
19# specific language governing permissions and limitations
20# under the License.
21#
22###############################################################
Herbert Dürra8cd6dd2014-01-23 16:58:26 +000023
Sander Vesik2beb9252002-08-27 10:31:48 +000024#---------------------------------------------------------------------------
25# Description:
26# set_soenv generates a file that contains all necessary
Pedro Giffunife289612016-05-22 01:05:14 +000027# environment variables for the build process of OpenOffice
Jens-Heiner Rechtiene0ac98f2003-03-19 15:03:25 +000028# on Linux, NetBSD, Solaris, Windows NT and Mac OS X/Darwin.
Sander Vesik2beb9252002-08-27 10:31:48 +000029#
30# Program steps.
31#
32# I. Checking the command-line arguments.
33# IIa. Declaring variables for the system commands, etc.
34# IIb. Declaring the environment variables.
35# III. Initialising the variables for the system commands, etc.
36# IV. Print out some important messages etc.
37# V. Initialising the environment variables.
38# VI. Open the output file.
39# VII. Writing the data to the output file.
40# VIII. Closing output file.
41# IX. Sourcing the output file.
42# X. Set up the build environment.
43# XI. Moving the output file to the build home directory.
44#
45#---------------------------------------------------------------------------
46#
47use strict; # pragma
48use File::Basename;
49
50
51#
52#--------------------------------------------------------
53# IIa. Declaring variables for the system commands, etc.
54#--------------------------------------------------------
55#
Pedro Giffuni05628402011-11-09 20:10:55 +000056my ( $outfile, $outfile_sh, $outfile_bat, $bootfile, $newline, $comment,
Hans-Joachim Lankenau9862e4b2009-10-26 16:04:03 +010057 $compiler, $unsetenv, $setenv, $unset, $set, $ds, $ps,
Kurt Zenkerb37d0352008-03-05 15:37:05 +000058 $wps, $cur_dir, $par_dir, $I, $L, $D, $buildenv, $answer, $tmp, $MINGW,
59 $USE_MINGW, $platform,
Don Lewis437a5372018-01-05 20:47:25 +000060 $cygwinver, $empty, $no_ant, $no_stl,
61 $warnfile, $Warning, $result, $unsetvars, $unsetvarssh, $unsetvarsbat, $exportvars, $win_format_var, $perl_os, @mingw_lib_include_paths, $mingw_lib_include_path);
Sander Vesik2beb9252002-08-27 10:31:48 +000062#
63#-------------------------------------------------
64# IIb. Declaring environment values (constants).
65#-------------------------------------------------
66#
67# Platform independent constant values.
Rüdiger Timm8d1fd8b2006-02-10 10:32:58 +000068my @DICTIONARIES = ("DADK", "DEDE", "ENGB", "ENUS", "HUHU", "ITIT", "RURU", "THTH", "SWTZ" );
Vladimir Glazounov75871cc2006-06-02 11:34:16 +000069my ( $CALL_CDECL, $COMMON_OUTDIR, $BMP_WRITES_FLAG,
Kurt Zenker06fed35d2006-07-05 21:32:39 +000070 $common_build, $NO_REC_RES, $SO3, $SOLAR_JAVA,
Rüdiger Timm36f52b52008-01-28 12:38:24 +000071 $SOLAR_PLUGIN, $UPDATER, $BUILD_DELIVER, $VCL,
72 $CC, $CXX,
Vladimir Glazounov75871cc2006-06-02 11:34:16 +000073 $BUILD_SOSL, $ENABLEUNICODE, $NEW_JAR_PACK, $NO_BSYMBOLIC,
Armin Theissend79016b2002-10-22 12:24:17 +000074 $BUILD_SOSL_RELEASE, $RSC_ONCE );
Sander Vesik2beb9252002-08-27 10:31:48 +000075#
76# Platform dependent constant values.
Don Lewisa3e11232018-04-28 02:47:11 +000077my ( $BIG_SVX, $ALIGN, $ARCH, $CPU, $CPUNAME, $CVER, $GLIBC, $GUI, $GUIBASE,
Rüdiger Timm36f52b52008-01-28 12:38:24 +000078 $GVER, $OS, $OSVERSION, $OUTPATH, $INPATH, $PATH_SEPERATOR,
Vladimir Glazounov75871cc2006-06-02 11:34:16 +000079 $DYNAMIC_CRT, $SET_EXCEPTIONS, $use_shl_versions, $CDPATHx, $JRELIBDIR,
Oliver Boltef7d54f02009-02-19 11:42:47 +000080 $JRETOOLKITDIR, $JRETHREADDIR,
Kurt Zenker8ecc7052007-12-12 14:37:11 +000081 $FLIPCMD );
Sander Vesik2beb9252002-08-27 10:31:48 +000082#
83#-------------------------------------------
84# IIc. Declaring the environment variables.
85#-------------------------------------------
86#
87# Help variables.
Jens-Heiner Rechtiend63cb972004-02-04 14:08:23 +000088my ( $USR, $ETC, $BIN, $LIB, $LIB64, $INC, $INCLUDE, $DEV, $OPT, $LOCAL, $SOLENV, $SOLVER, $CONFIG,
Sander Vesik2beb9252002-08-27 10:31:48 +000089 $USR_BIN, $USR_LIB, $USR_LOCAL, $USR_CCS, $JAVA_BIN, $JAVA_LIB, $JAVA_INCLUDE,
sb52fae282010-01-12 18:49:59 +010090 $SOLARENVINC, $USR_DT, $USR_OPENWIN, $XLIB, $XINC,
Don Lewiscd952b42016-08-19 18:28:06 +000091 $CYGWIN_PATH, $language, $dict, $ASM_PATH, $NASM_PATH, $NSIS_PATH, $PERL_PATH );
Sander Vesik2beb9252002-08-27 10:31:48 +000092
93# Environment variables.
sb52fae282010-01-12 18:49:59 +010094my ( $oldPATH, $SRC_ROOT, $SO_HOME, $JAVA_HOME, $JDK, $JAVAFLAGS, $OOO_SHELL,
Ivo Hinkelmann3da39392011-02-01 15:43:35 +010095 $UPD, $WORK_STAMP, $SOURCE_ROOT_DIR , $gb_REPOS,
Hans-Joachim Lankenaue5918522010-11-18 17:11:41 +010096 $SOLARSRC, $DEVROOT, $SOLARVER, $SOLARVERSION, $WORKDIR, $OUTDIR, $SOLARENV,
Sander Vesik2beb9252002-08-27 10:31:48 +000097 $STAR_INIROOT, $STAR_INIROOTOLD, $STAR_STANDLST, $STAR_SSCOMMON, $STAR_SSOLARINI,
Jürgen Schmidt568c8be2013-02-19 13:47:31 +000098 $DMAKEROOT, $CLASSPATH, $XCLASSPATH, $COMPATH, $CXX_X64_BINARY, $LINK_X64_BINARY, $LIBMGR_X64_BINARY,
Jim Jagielskia38be852018-07-03 22:04:26 +000099 $MSPDB_PATH, $MIDL_PATH, $CSC_PATH, $MACOSX_DEPLOYMENT_TARGET, $MACOSX_SDK_PATH, $SDKROOT,
Oliver Boltef7d54f02009-02-19 11:42:47 +0000100 $PATH, $SOLAREXTRAINC, $SOLAREXTRALIB, $SOLARLIB,
Kurt Zenkera89825c2008-03-07 15:56:50 +0000101 $SOLARINC, $LOCALINI, $FRAMEWORKSHOME, $COMEX, $PERL,
Vladimir Glazounov3673e4f2007-03-27 09:20:09 +0000102 $COMP_ENV, $ILIB, $JAVAHOME, $PSDK_HOME, $DIRECTXSDK_LIB, $USE_NEW_SDK, $FRAME_HOME,
Jürgen Schmidt5ee08bd2013-02-19 13:28:56 +0000103 $USE_DIRECTX5, $ATL_LIB, $ATL_LIB_X64, $HAVE_ATLTHUNK, $ATL_INCLUDE, $MFC_LIB, $MFC_INCLUDE, $TMPDIR,
Oliver Bolte69d4b0f2007-11-12 07:36:01 +0000104 $COMMON_BUILD_TOOLS, $WIN_GREP, $WIN_FIND, $WIN_LS,
Herbert Dürra7bc1f52013-11-18 16:26:19 +0000105 $WIN_GNUCOPY, $WIN_TOUCH, $MOZILLABUILD,
Hans-Joachim Lankenaua9669262010-01-15 14:55:12 +0100106 $PROEXT, $TARFILE_LOCATION,
Andre Fischer1a85ae22011-12-16 12:59:55 +0000107 $ENABLE_HUNSPELL, $ENABLE_HYPHEN,
Jürgen Schmidt77e79c42014-06-02 10:57:39 +0000108 $SYSTEM_PYTHON, $EPM_FLAGS, $ENABLE_UNIT_TESTS);
Sander Vesik2beb9252002-08-27 10:31:48 +0000109#
110#-------------------------------------------
111# IId. Declaring the aliases.
112#-------------------------------------------
113#
Kurt Zenkercc9115f2007-05-09 12:27:09 +0000114my ( $dmake, $build, $build_client, $nmake, $mkout, $deliver, $zipdep );
Sander Vesik2beb9252002-08-27 10:31:48 +0000115#
116
117#-------------------------------------------------------------
118# IIIa. Initialising constants.
119#-------------------------------------------------------------
120#
Kurt Zenkerb37d0352008-03-05 15:37:05 +0000121# $platform is needed for PathFormat()
Kurt Zenker8ecc7052007-12-12 14:37:11 +0000122#
Vladimir Glazounov815f1572009-01-21 17:47:03 +0000123$platform = `./config.guess`;
Kurt Zenker8ecc7052007-12-12 14:37:11 +0000124chomp( $platform );
Kurt Zenker8ecc7052007-12-12 14:37:11 +0000125
Sander Vesik2beb9252002-08-27 10:31:48 +0000126$UPD = '@UPD@'; # the project's UPD
127$newline = "\n"; # Perl newline character
128$unsetenv = "unsetenv"; # c-shell command
129$setenv = "setenv"; # c-shell command
130$unset = "unset"; # msdos batch file command
131$set = "set"; # msdos batch file command
132$ds = "/"; # directory separator
133$ps = ":"; # path separator
Kurt Zenker8ecc7052007-12-12 14:37:11 +0000134$wps = ":"; # path separator, will be set to ';' for windows later.
Sander Vesik2beb9252002-08-27 10:31:48 +0000135$cur_dir = "."; # current directory
136$par_dir = ".."; # parrent directory
137$I = " -I"; # include search path
138$L = " -L"; # library search path
139$D = " -D"; # define search path
Sander Vesik2beb9252002-08-27 10:31:48 +0000140$empty = ""; # used as argument
Sander Vesik2beb9252002-08-27 10:31:48 +0000141$warnfile = "warn"; # logfile configure warnings.
142$Warning = ""; # container for warning messages
Rüdiger Timmf57e22b2004-09-08 14:24:19 +0000143$SYSTEM_PYTHON = '@SYSTEM_PYTHON@';
Oliver Bolte3f7a6152005-01-25 15:55:07 +0000144$JDK = '@JDK@';
Vladimir Glazounovfb78b232008-08-19 11:03:39 +0000145$JAVAFLAGS = '@JAVAFLAGS@';
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +0000146$MINGW = '@WITH_MINGWIN@'; # use MinGW for Windows build
Vladimir Glazounov3673e4f2007-03-27 09:20:09 +0000147$USE_MINGW = '@USE_MINGW@'; # use MinGW in cygwin or pure-mingw
Ivo Hinkelmann71285c32008-02-04 11:56:11 +0000148if ( $MINGW eq "yes" )
149{ $CC = '@CC@'; # C compiler
150 $CXX = '@CXX@'; } # C++ compiler
151else
152{ $CC = PathFormat('@CC@'); # C compiler
153 $CXX = PathFormat('@CXX@'); } # C++ compiler
Kurt Zenker8ecc7052007-12-12 14:37:11 +0000154$FLIPCMD = ""; # Flip '/' to '\' wrapper (only for winnt)
Rüdiger Timmf57e22b2004-09-08 14:24:19 +0000155$GLIBC = ""; # Whether the platform uses glibc
156$PROEXT = "@PROEXT@";
Jens-Heiner Rechtiena5bade02007-11-02 14:23:26 +0000157$EPM_FLAGS = "";
Sander Vesik2beb9252002-08-27 10:31:48 +0000158
Yuri Dario0b19c4b2012-02-16 14:44:11 +0000159# Required for OS/2 macro expansion
160my @unixroot='@unixroot';
161
Sander Vesik2beb9252002-08-27 10:31:48 +0000162#
Sander Vesik2beb9252002-08-27 10:31:48 +0000163#--------------------------------------------------------------------
164# IV. Initialise the warning container and print a note to the user.
165#--------------------------------------------------------------------
166#
167# Add the configure (pre-requisite) warnings to the warning container
168# , $Warning.
169AddWarning( "configure", "" );
170#
Herbert Dürrd340fd42012-10-24 14:25:50 +0000171print ("Setting up the environment for building Apache OpenOffice $newline");
Sander Vesik2beb9252002-08-27 10:31:48 +0000172#
173#--------------------------------------------------
174# V. Setting the environment variables/values.
175#--------------------------------------------------
176#
177# A. Checking the platform first.
178#
Sander Vesik2beb9252002-08-27 10:31:48 +0000179# get perls idea for OS
180# needed to differentiate cygwin/native perl on windows
181$perl_os = $^O;
182
183#
184# B. Gathering information from the system.
185#
186# 1. Path
187$oldPATH = $ENV{"PATH"};
188chomp( $oldPATH ); # cut off new line
189#
190# C. Setting the constant values.
191#
192# Setting platform independent constant values.
193print "Setting platform independent values... ";
194# NB: Language options now set at 'ToFile' stage.
Sander Vesik2beb9252002-08-27 10:31:48 +0000195$BMP_WRITES_FLAG = "TRUE";
196$BUILD_SOSL_RELEASE = "TRUE";
197$RSC_ONCE = "TRUE";
198$CALL_CDECL = "TRUE";
199$COMMON_OUTDIR = "";
200$common_build = "";
Sander Vesik2beb9252002-08-27 10:31:48 +0000201$NO_REC_RES = "TRUE";
Sander Vesik2beb9252002-08-27 10:31:48 +0000202$SO3 = "TRUE";
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +0000203$SOLAR_JAVA = "@SOLAR_JAVA@";
Sander Vesik2beb9252002-08-27 10:31:48 +0000204$SOLAR_PLUGIN = "TRUE";
Sander Vesik2beb9252002-08-27 10:31:48 +0000205$UPDATER = "YES";
206$BUILD_DELIVER = "true";
Sander Vesik2beb9252002-08-27 10:31:48 +0000207$VCL = "TRUE";
Sander Vesik2beb9252002-08-27 10:31:48 +0000208$BUILD_SOSL = "true";
Sander Vesik2beb9252002-08-27 10:31:48 +0000209$ENABLEUNICODE = "TRUE";
210$NEW_JAR_PACK = "TRUE";
211$NO_BSYMBOLIC = "TRUE";
Vladimir Glazounov9e4411b2003-06-12 09:16:12 +0000212$comment = "#"; # UNIX script comment character
Hans-Joachim Lankenaua9669262010-01-15 14:55:12 +0100213$TARFILE_LOCATION = "@TARFILE_LOCATION@"; # where to find tarballs with external sources
Armin Theissend79016b2002-10-22 12:24:17 +0000214
Sander Vesik2beb9252002-08-27 10:31:48 +0000215# Setting platform dependent constant values.
Vladimir Glazounov5b67f992005-03-07 16:28:47 +0000216if ( $platform =~ m/solaris/ )
Sander Vesik2beb9252002-08-27 10:31:48 +0000217{ print "Setting Solaris specific values... ";
Vladimir Glazounov5b67f992005-03-07 16:28:47 +0000218 if ($platform =~ m/^i[3456]86/)
Kurt Zenker562c9222005-01-18 13:55:37 +0000219 {
220 if ( $CC =~ "gcc") {
Jens-Heiner Rechtienaf719592007-01-03 10:33:57 +0000221 $outfile = "SolarisX86GccEnv.Set";
Kurt Zenker562c9222005-01-18 13:55:37 +0000222 $OUTPATH = "unxsogi";
223 } else {
Jens-Heiner Rechtienaf719592007-01-03 10:33:57 +0000224 $outfile = "SolarisX86Env.Set";
Kurt Zenker562c9222005-01-18 13:55:37 +0000225 $OUTPATH = "unxsoli4";
226 }
Sander Vesik2beb9252002-08-27 10:31:48 +0000227 $CPU = "I";
228 $CPUNAME = "INTEL";
Sander Vesik2beb9252002-08-27 10:31:48 +0000229 $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."i386";
Michael Stahl4bd9ea12011-03-28 10:34:17 +0000230 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."i386".$ds."xawt";
Sander Vesik2beb9252002-08-27 10:31:48 +0000231 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."i386".$ds."native_threads";
232
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +0000233 }
234 else
Kurt Zenker562c9222005-01-18 13:55:37 +0000235 {
236 if ( $CC =~ "gcc") {
237 $outfile = "SolarisSparcGccEnv.Set";
Kurt Zenker562c9222005-01-18 13:55:37 +0000238 $OUTPATH = "unxsogs";
239 } else {
240 $outfile = "SolarisSparcEnv.Set";
Kurt Zenker562c9222005-01-18 13:55:37 +0000241 $OUTPATH = "unxsols4";
242 }
Sander Vesik2beb9252002-08-27 10:31:48 +0000243 $CPU = "S";
244 $CPUNAME = "SPARC";
Sander Vesik2beb9252002-08-27 10:31:48 +0000245 $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."sparc";
Michael Stahl4bd9ea12011-03-28 10:34:17 +0000246 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."sparc".$ds."xawt";
Sander Vesik2beb9252002-08-27 10:31:48 +0000247 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."sparc".$ds."native_threads";
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +0000248 }
Kurt Zenker562c9222005-01-18 13:55:37 +0000249
250 if ( $CC =~ "gcc") {
Kurt Zenker562c9222005-01-18 13:55:37 +0000251 $CVER = "C300";
252 } else {
Kurt Zenker562c9222005-01-18 13:55:37 +0000253 $CVER = "C52";
254 $COMEX = 4;
255 }
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +0000256 $BIG_SVX = "TRUE";
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +0000257 $COMPATH = '@COMPATH@';
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +0000258 $GUI = "UNX";
259 $GUIBASE = "unx";
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +0000260 $GVER = "VCL";
261 $INPATH = $OUTPATH.$PROEXT;
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +0000262 $OS = "SOLARIS";
263 $PATH_SEPERATOR = $ps;
Sander Vesik2beb9252002-08-27 10:31:48 +0000264}
Vladimir Glazounov5b67f992005-03-07 16:28:47 +0000265elsif ( $platform =~ m/netbsd/ )
Kurt Zenkerf19be042004-02-25 12:50:35 +0000266{
Kurt Zenker8c209a72005-07-14 12:45:49 +0000267#Set platform specific values:
Vladimir Glazounov5b67f992005-03-07 16:28:47 +0000268 if ($platform =~ m/^i[3456]86/)
Jens-Heiner Rechtienaf719592007-01-03 10:33:57 +0000269 { print "Setting NetBSD x86 specific values... ";
270 $outfile = "NetBSDX86Env.Set";
Kurt Zenkerf19be042004-02-25 12:50:35 +0000271 $CPU = "I";
272 $CPUNAME = "INTEL";
Kurt Zenkerf19be042004-02-25 12:50:35 +0000273 $OUTPATH = "unxbsdi";
274 $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."i386";
275 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."i386".$ds."client";
276 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."i386".$ds."native_threads";
277 }
Vladimir Glazounov5b67f992005-03-07 16:28:47 +0000278 elsif ($platform =~ m/^sparc/)
Kurt Zenkerf19be042004-02-25 12:50:35 +0000279 { print "Setting NetBSD Sparc specific values... ";
280 $outfile = "NetBSDSparcEnv.Set";
281 $CPU = "S";
282 $CPUNAME = "SPARC";
Kurt Zenkerf19be042004-02-25 12:50:35 +0000283 $OUTPATH = "unxbsds";
284 $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."sparc";
285 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."sparc".$ds."client";
286 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."sparc".$ds."native_threads";
287 }
Kurt Zenker8c209a72005-07-14 12:45:49 +0000288 elsif ($platform =~ m/powerpc/)
Kurt Zenkerf19be042004-02-25 12:50:35 +0000289 { print "Setting NetBSD PPC specific values... ";
290 $outfile = "NetBSDPPCEnv.Set";
291 $CPU = "P";
292 $CPUNAME = "POWERPC";
Kurt Zenkerf19be042004-02-25 12:50:35 +0000293 $OUTPATH = "unxbsdppc";
294 $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc";
295 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc".$ds."classic";
296 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc".$ds."native_threads";
297 }
298 else
Vladimir Glazounov5b67f992005-03-07 16:28:47 +0000299 { print "Unsupported NetBSD architecture: $platform \n";
Kurt Zenkerf19be042004-02-25 12:50:35 +0000300 exit 1;
301 }
302 #Conditional setting depending on gcc3:
Kurt Zenkerf19be042004-02-25 12:50:35 +0000303 $CVER = "C300";
Rüdiger Timmf57e22b2004-09-08 14:24:19 +0000304 $OUTPATH = $OUTPATH."2";
Kurt Zenkerf19be042004-02-25 12:50:35 +0000305 # General NetBSD settings:
306 $BIG_SVX = "TRUE";
Kurt Zenkerf19be042004-02-25 12:50:35 +0000307 $COMPATH = '@COMPATH@';
308 $GUI = "UNX";
309 $GUIBASE = "unx";
Kurt Zenkerf19be042004-02-25 12:50:35 +0000310 $GVER = "VCL";
311 $INPATH = $OUTPATH.$PROEXT;
Kurt Zenkerf19be042004-02-25 12:50:35 +0000312 $OS = "NETBSD";
313 $PATH_SEPERATOR = $ps;
Kurt Zenkerf19be042004-02-25 12:50:35 +0000314}
Rene Engelhard660f0262010-04-16 11:53:57 +0200315elsif ( $platform =~ m/kfreebsd/ )
316{
317# General GNU/kFreeBSD settings:
318 $CVER = "C341";
319 $BIG_SVX = "TRUE";
Rene Engelhard660f0262010-04-16 11:53:57 +0200320 $COMPATH = '@COMPATH@';
321 $GLIBC = "2REDHAT60";
322 $GUI = "UNX";
323 $GUIBASE = "unx";
324 $GVER = "VCL";
325 $OS = "LINUX";
326 $PATH_SEPERATOR = $ps;
327
328#Set platform specific values:
329 if ($platform =~ m/^i[3456]86/)
330 { print "Setting GNU/kFreeBSD x86 specific values... ";
331 $outfile = "GNUkFreeBSDX86Env.Set";
332 $CPU = "I";
333 $CPUNAME = "INTEL";
334 $OUTPATH = "unxkfgi6";
335
336 $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."i386";
337 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."i386".$ds."client";
338 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."i386".$ds."native_threads";
339
340 }
341 elsif ($platform =~ m/^x86_64/)
342 { print "Setting GNU/kFreeBSD x86-64 specific values... ";
343 $outfile = "GNUkFreeBSDX86-64Env.Set";
344 $CPU = "X";
345 $CPUNAME = "X86_64";
346 $OUTPATH = "unxkfgx6";
347
348 $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."amd64";
349 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."amd64".$ds."server";
350 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."amd64".$ds."native_threads";
351 }
352
353 $INPATH = $OUTPATH.$PROEXT;
354}
Vladimir Glazounov5b67f992005-03-07 16:28:47 +0000355elsif ( $platform =~ m/freebsd/ )
Kurt Zenker3f65f3e2006-07-19 08:36:28 +0000356{ $BIG_SVX = "TRUE";
Don Lewisd364c5b2018-01-07 19:51:56 +0000357 $COMPATH = '@COMPATH@';
Rüdiger Timmf57e22b2004-09-08 14:24:19 +0000358 $CVER = "C300";
Sander Vesik2beb9252002-08-27 10:31:48 +0000359 $GUI = "UNX";
360 $GUIBASE = "unx";
Sander Vesik2beb9252002-08-27 10:31:48 +0000361 $GVER = "VCL";
Sander Vesik2beb9252002-08-27 10:31:48 +0000362 $OS = "FREEBSD";
363 $PATH_SEPERATOR = $ps;
Sander Vesik2beb9252002-08-27 10:31:48 +0000364 $OSVERSION = '@OSVERSION@';
Pedro Giffunie47a0fe2011-10-05 19:34:23 +0000365 if (($platform =~ m/^amd64/) || ($platform =~ m/^x86_64/))
Kurt Zenker3f65f3e2006-07-19 08:36:28 +0000366 { my ( $JAVA_OS );
367 print "Setting FreeBSD AMD64 specific values... ";
368 $outfile = "FreeBSDAMDEnv.Set";
369 $CPU = "X";
370 $CPUNAME = "X86_64";
371 $OUTPATH = "unxfbsdx";
372 $JAVA_OS = '@JAVA_HOME@';
373 $JAVA_OS =~ s/.*\///;
374 if ($JAVA_OS =~ m/^linux/)
375 { $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."i386";
376 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."i386".$ds."client";
377 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."i386".$ds."native_threads";
Kurt Zenker3f65f3e2006-07-19 08:36:28 +0000378 }
379 else
380 { $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."amd64";
381 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."amd64".$ds."server";
382 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."amd64".$ds."native_threads";
Kurt Zenker3f65f3e2006-07-19 08:36:28 +0000383 }
384 }
385 elsif ($platform =~ m/^i386/)
Jens-Heiner Rechtienaf719592007-01-03 10:33:57 +0000386 { print "Setting FreeBSD x86 specific values... ";
387 $outfile = "FreeBSDX86Env.Set";
Kurt Zenker3f65f3e2006-07-19 08:36:28 +0000388 $CPU = "I";
389 $CPUNAME = "INTEL";
390 $OUTPATH = "unxfbsdi";
Sander Vesik2beb9252002-08-27 10:31:48 +0000391 $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."i386";
392 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."i386".$ds."client";
Vladimir Glazounov9e4411b2003-06-12 09:16:12 +0000393 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."i386".$ds."native_threads";
Kurt Zenker3f65f3e2006-07-19 08:36:28 +0000394 }
Pedro Giffuni22fb71a2017-01-03 04:15:40 +0000395 elsif ($platform =~ m/^arm.*?l-/)
396 { print "Setting FreeBSD ARM specific values... ";
397 $outfile = "FreeBSDARMEnv.Set";
398 $CPU = "R";
399 $CPUNAME = "ARM";
400 $OUTPATH = "unxfbsdr";
401 $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."arm";
402 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."arm".$ds."server";
403 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."arm".$ds."native_threads";
404 $EPM_FLAGS = "-a arm";
405 }
Pedro Giffunicbe87f82017-01-13 19:47:12 +0000406 elsif (($platform =~ m/^powerpc64/) && ('@SIZEOF_LONG@' eq '8'))
407 { print "Setting FreeBSD PPC64 specific values... ";
408 $outfile = "FreeBSDPPC64Env.Set";
Pedro Giffuni0f7a4a82014-07-06 16:56:22 +0000409 $CPU = "P";
Pedro Giffunicbe87f82017-01-13 19:47:12 +0000410 $CPUNAME = "POWERPC64";
411 $OUTPATH = "unxfbsdppc64";
412 $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc64";
413 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc64".$ds."server";
414 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc64".$ds."native_threads";
415 }
416 elsif ($platform =~ m/powerpc/)
417 { print "Setting FreeBSD PPC specific values... ";
418 $outfile = "FreeBSDPPCEnv.Set";
419 $CPU = "P";
420 $CPUNAME = "POWERPC";
421 $OUTPATH = "unxfbsdppc";
422 $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc";
423 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc".$ds."client";
424 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc".$ds."native_threads";
Pedro Giffuni0f7a4a82014-07-06 16:56:22 +0000425 }
Kurt Zenker3f65f3e2006-07-19 08:36:28 +0000426 else
427 { print "Unsupported FreeBSD architecture: $platform \n";
428 exit 1;
429 }
430 if( @GCCVER@ >= 30401 ) {
431 $CVER = "C341";
432 }
433 $INPATH = $OUTPATH.$PROEXT;
Sander Vesik2beb9252002-08-27 10:31:48 +0000434}
Vladimir Glazounovdf8b49802008-03-18 15:09:55 +0000435elsif ( $platform =~ m/linux/ )
Sander Vesik2beb9252002-08-27 10:31:48 +0000436{
Vladimir Glazounovf27ca792005-02-24 13:44:57 +0000437# General Linux settings:
Vladimir Glazounov41faa442009-10-01 09:16:17 +0000438 $CVER = "C341";
Vladimir Glazounovf27ca792005-02-24 13:44:57 +0000439 $BIG_SVX = "TRUE";
Vladimir Glazounovf27ca792005-02-24 13:44:57 +0000440 $COMPATH = '@COMPATH@';
441 $GLIBC = "2REDHAT60";
442 $GUI = "UNX";
443 $GUIBASE = "unx";
Vladimir Glazounovf27ca792005-02-24 13:44:57 +0000444 $GVER = "VCL";
445 $OS = "LINUX";
446 $PATH_SEPERATOR = $ps;
Vladimir Glazounovf27ca792005-02-24 13:44:57 +0000447
Kurt Zenker8c209a72005-07-14 12:45:49 +0000448#Set platform specific values:
Vladimir Glazounov5b67f992005-03-07 16:28:47 +0000449 if ($platform =~ m/^i[3456]86/)
Jens-Heiner Rechtienaf719592007-01-03 10:33:57 +0000450 { print "Setting Linux x86 specific values... ";
451 $outfile = "LinuxX86Env.Set";
Sander Vesik2beb9252002-08-27 10:31:48 +0000452 $CPU = "I";
453 $CPUNAME = "INTEL";
Rüdiger Timm0eb5dd52005-08-18 07:21:30 +0000454
455 if ($JDK =~ m/^[Ii][Bb][Mm]/)
456 { $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."bin";
457 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."bin".$ds."classic";
458 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."bin"; }
459
Jens-Heiner Rechtiencf5cbb52005-10-25 10:24:20 +0000460 elsif ($JDK =~ m/^[Bb][Ee][Aa]/)
461 { $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."i386";
Jens-Heiner Rechtiencf5cbb52005-10-25 10:24:20 +0000462 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."i386".$ds."jrockit";
463 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."i386".$ds."native_threads"; }
464
Rüdiger Timm0eb5dd52005-08-18 07:21:30 +0000465 else {
Sander Vesik2beb9252002-08-27 10:31:48 +0000466 $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."i386";
Vladimir Glazounov815f1572009-01-21 17:47:03 +0000467 # has both server and client
Sander Vesik2beb9252002-08-27 10:31:48 +0000468 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."i386".$ds."client";
469 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."i386".$ds."native_threads";
Rüdiger Timm0eb5dd52005-08-18 07:21:30 +0000470 }
471
Vladimir Glazounov41faa442009-10-01 09:16:17 +0000472 $OUTPATH = "unxlngi6";
Sander Vesik2beb9252002-08-27 10:31:48 +0000473 }
Vladimir Glazounov5b67f992005-03-07 16:28:47 +0000474 elsif ($platform =~ m/^x86_64/)
Jens-Heiner Rechtiend63cb972004-02-04 14:08:23 +0000475 { print "Setting Linux x86-64 specific values... ";
Rüdiger Timm95640082006-05-04 07:44:18 +0000476 $outfile = "LinuxX86-64Env.Set";
Jens-Heiner Rechtiend63cb972004-02-04 14:08:23 +0000477 $CPU = "X";
478 $CPUNAME = "X86_64";
Kurt Zenker71f7ace2005-10-05 10:37:08 +0000479 $OUTPATH = "unxlngx6";
Jens-Heiner Rechtiend63cb972004-02-04 14:08:23 +0000480 # Blackdown.org JDK porting project uses `amd64' and `server' in JDK 1.4.2 RC1
481 $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."amd64";
Vladimir Glazounov815f1572009-01-21 17:47:03 +0000482 # has both server and client
Jens-Heiner Rechtiend63cb972004-02-04 14:08:23 +0000483 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."amd64".$ds."server";
484 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."amd64".$ds."native_threads";
485 }
Oliver Bolte54e42f22008-02-27 09:03:23 +0000486 elsif ($platform =~ m/^ia64/)
487 { print "Setting Linux ia64 specific values... ";
488 $outfile = "LinuxIA64Env.Set";
489 $CPU = "A";
490 $CPUNAME = "IA64";
Oliver Bolte54e42f22008-02-27 09:03:23 +0000491 $OUTPATH = "unxlnga";
492 $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ia64";
Oliver Bolte54e42f22008-02-27 09:03:23 +0000493 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ia64".$ds."server";
494 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ia64".$ds."native_threads";
495 }
Vladimir Glazounov5b67f992005-03-07 16:28:47 +0000496 elsif ($platform =~ m/^sparc/)
Vladimir Glazounov9e4411b2003-06-12 09:16:12 +0000497
Sander Vesik2beb9252002-08-27 10:31:48 +0000498 { print "Setting Linux Sparc specific values... ";
499 $outfile = "LinuxSparcEnv.Set";
500 $CPU = "S";
501 $CPUNAME = "SPARC";
Sander Vesik2beb9252002-08-27 10:31:48 +0000502 $OUTPATH = "unxlngs";
503 $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."sparc";
Vladimir Glazounov815f1572009-01-21 17:47:03 +0000504 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."sparc".$ds."server";
Sander Vesik2beb9252002-08-27 10:31:48 +0000505 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."sparc".$ds."native_threads";
506 }
Vladimir Glazounov5b67f992005-03-07 16:28:47 +0000507 elsif ($platform =~ m/^powerpc/)
Kurt Zenker927d81f2007-06-18 15:36:33 +0000508 {
509 if (($platform =~ m/^powerpc64/) && ('@SIZEOF_LONG@' eq '8')) {
510 print "Setting Linux PPC64 specific values... ";
511 $outfile = "LinuxPPC64Env.Set";
512 $OUTPATH = "unxlngppc64";
513 $CPUNAME = "POWERPC64";
514
515 if ( $JDK eq "gcj" ) {
516 $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc64";
517 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc64".$ds."client";
518 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc64".$ds."native_threads";
519 }
520 }
521 else {
522 print "Setting Linux PPC specific values... ";
523 $outfile = "LinuxPPCEnv.Set";
524 $OUTPATH = "unxlngppc";
525 $CPUNAME = "POWERPC";
526
527 if ( $JDK eq "gcj" ) {
528 $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc";
529 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc".$ds."client";
Rüdiger Timm88f73482007-10-04 07:12:49 +0000530 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc".$ds."native_threads"; }
531 elsif ($JDK =~ m/^[Ii][Bb][Mm]/)
Vladimir Glazounov815f1572009-01-21 17:47:03 +0000532 { $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc";
533 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc".$ds."classic";
534 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc";
Kurt Zenker927d81f2007-06-18 15:36:33 +0000535 }
Vladimir Glazounov815f1572009-01-21 17:47:03 +0000536 # OpenJDK
537 elsif ($JDK =~ m/sun/) {
538 $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc";
Hans-Joachim Lankenau3e6e8442009-03-24 15:06:55 +0000539 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc".$ds."server";
Vladimir Glazounov815f1572009-01-21 17:47:03 +0000540 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc".$ds."native_threads";
Vladimir Glazounov815f1572009-01-21 17:47:03 +0000541 }
Kurt Zenker927d81f2007-06-18 15:36:33 +0000542 }
543
Sander Vesik2beb9252002-08-27 10:31:48 +0000544 $CPU = "P";
Kurt Zenker927d81f2007-06-18 15:36:33 +0000545
Sander Vesik2beb9252002-08-27 10:31:48 +0000546 }
Vladimir Glazounov5b67f992005-03-07 16:28:47 +0000547 elsif ($platform =~ m/^s390/)
Kurt Zenkerbe376e52008-04-03 15:49:47 +0000548 {
549 if (($platform =~ m/^s390x/) && ('@SIZEOF_LONG@' eq '8')) {
550 print "Setting Linux zSeries specific values... ";
551 $outfile = "LinuxS390XEnv.Set";
552 $CPUNAME = "S390X";
553 $ARCH = "s390x";
554 $OUTPATH = "unxlngs390x";
555 }
556 else {
557 print "Setting Linux S/390 specific values... ";
558 $outfile = "LinuxS390Env.Set";
559 $CPUNAME = "S390";
560 $ARCH = "s390";
561 $OUTPATH = "unxlngs390";
562 }
563 $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds.$ARCH;
Vladimir Glazounov815f1572009-01-21 17:47:03 +0000564 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds.$ARCH.$ds."server";
Kurt Zenkerbe376e52008-04-03 15:49:47 +0000565 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds.$ARCH.$ds."native_threads";
Martin Hollmicheld611db52003-01-20 14:00:18 +0000566 $CPU = "3";
Martin Hollmicheld611db52003-01-20 14:00:18 +0000567 }
Vladimir Glazounovf95bf672008-06-30 14:06:07 +0000568 elsif ($platform =~ m/^m68k/)
569 { print "Setting Linux m68k specific values... ";
570 $outfile = "LinuxM68KEnv.Set";
571 $CPU = "6";
572 $CPUNAME = "M68K";
Vladimir Glazounovf95bf672008-06-30 14:06:07 +0000573 $OUTPATH = "unxlngm68k";
574 $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."m68k";
575 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."m68k".$ds."server";
576 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."m68k".$ds."native_threads";
Vladimir Glazounovf95bf672008-06-30 14:06:07 +0000577 }
Caolán McNamara329fca32009-11-19 15:41:16 +0000578 elsif ($platform =~ m/^hppa/)
579 { print "Setting Linux hppa specific values... ";
580 $outfile = "LinuxHPPAEnv.Set";
581 $CPU = "H";
582 $CPUNAME = "HPPA";
583 $OUTPATH = "unxlnghppa";
584 $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."hppa";
585 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."hppa".$ds."server";
586 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."hppa".$ds."native_threads";
587 $EPM_FLAGS = "-a hppa";
588 }
Kurt Zenker8c209a72005-07-14 12:45:49 +0000589 elsif ($platform =~ m/^alpha/)
Sander Vesik2beb9252002-08-27 10:31:48 +0000590 { print "Setting Linux Alpha specific values... ";
591 $outfile = "LinuxAlphaEnv.Set";
Caolán McNamara857e5a52010-03-15 16:02:56 +0000592 $CPU = "L";
593 $CPUNAME = "AXP";
594 $OUTPATH = "unxlngaxp";
Sander Vesik2beb9252002-08-27 10:31:48 +0000595 $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."alpha";
Vladimir Glazounov815f1572009-01-21 17:47:03 +0000596 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."alpha".$ds."server";
Sander Vesik2beb9252002-08-27 10:31:48 +0000597 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."alpha".$ds."native_threads";
598 }
Ivo Hinkelmann1885f7d2007-11-26 17:04:00 +0000599 elsif ($platform =~ m/^arm.*?l-/)
Sander Vesik2beb9252002-08-27 10:31:48 +0000600 { print "Setting Linux ARM specific values... ";
601 $outfile = "LinuxARMEnv.Set";
602 $CPU = "R";
603 $CPUNAME = "ARM";
Sander Vesik2beb9252002-08-27 10:31:48 +0000604 $OUTPATH = "unxlngr";
605 $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."arm";
Vladimir Glazounov815f1572009-01-21 17:47:03 +0000606 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."arm".$ds."server";
Sander Vesik2beb9252002-08-27 10:31:48 +0000607 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."arm".$ds."native_threads";
Ivo Hinkelmann1885f7d2007-11-26 17:04:00 +0000608 $EPM_FLAGS = "-a arm";
Sander Vesik2beb9252002-08-27 10:31:48 +0000609 }
Jens-Heiner Rechtiena5bade02007-11-02 14:23:26 +0000610 elsif ($platform =~ m/^mips/)
611 { print "Setting Linux MIPS specific values... ";
612 $outfile = "LinuxMIPSEnv.Set";
613 $CPU = "M";
614 $CPUNAME = "GODSON";
615 $OUTPATH = "unxlngmips";
616
617 if ('@SIZEOF_LONG@' eq '8') {
618 if ('@WORDS_BIGENDIAN@' ne 'yes') {
619 $EPM_FLAGS = "-a mips64el";
620 if ( $JDK eq "gcj" ) {
621 $ARCH = "mips64el";
622 }
623 }
624 else {
625 $ARCH = "mips64";
626 }
627 }
628 else {
629 if ('@WORDS_BIGENDIAN@' ne 'yes') {
630 $EPM_FLAGS = "-a mipsel";
Vladimir Glazounov82708302009-03-17 13:46:42 +0000631 if ( $JDK =~ m/sun/ && -d "@JAVA_HOME@".$ds."jre".$ds."lib".$ds."mips32" ) {
632 $ARCH = "mips32"; # Lemote
633 } else {
634 $ARCH = "mipsel";
635 }
Jens-Heiner Rechtiena5bade02007-11-02 14:23:26 +0000636 }
637 else {
638 $ARCH = "mips";
639 }
640 }
641
642 $JRELIBDIR = '$JAVA_HOME'.$ds."lib".$ds.$ARCH;
Vladimir Glazounov82708302009-03-17 13:46:42 +0000643 if ( $JDK =~ m/sun/ && -d "@JAVA_HOME@".$ds."jre".$ds."lib".$ds."mips32" ) {
644 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."lib".$ds.$ARCH.$ds."client"; # Lemote
645 } else {
646 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."lib".$ds.$ARCH.$ds."server";
647 }
Jens-Heiner Rechtiena5bade02007-11-02 14:23:26 +0000648 $JRETHREADDIR = '$JAVA_HOME'.$ds."lib".$ds.$ARCH.$ds."native_threads";
Jens-Heiner Rechtiena5bade02007-11-02 14:23:26 +0000649 }
650
Sander Vesik2beb9252002-08-27 10:31:48 +0000651
Vladimir Glazounovf27ca792005-02-24 13:44:57 +0000652 $INPATH = $OUTPATH.$PROEXT;
Sander Vesik2beb9252002-08-27 10:31:48 +0000653}
Vladimir Glazounov5b67f992005-03-07 16:28:47 +0000654elsif ( $platform =~ m/osf1/ )
Sander Vesik2beb9252002-08-27 10:31:48 +0000655{ print "Setting Tru64 specific values... ";
656 $outfile = "Tru64AlphaEnv.Set";
657 $BIG_SVX = "TRUE";
Sander Vesik2beb9252002-08-27 10:31:48 +0000658 $COMPATH = '@COMPATH@';
659 $CPU = "A";
Jens-Heiner Rechtien0bd236a2003-04-28 16:02:16 +0000660 $CPUNAME = "ALPHA_";
Sander Vesik2beb9252002-08-27 10:31:48 +0000661 $CVER = "C62";
Sander Vesik2beb9252002-08-27 10:31:48 +0000662 $GUI = "UNX";
663 $GUIBASE = "unx";
Sander Vesik2beb9252002-08-27 10:31:48 +0000664 $GVER = "VCL";
665 $OUTPATH = "unxt64";
666 $INPATH = $OUTPATH.$PROEXT;
Sander Vesik2beb9252002-08-27 10:31:48 +0000667 $OS = "TRU64";
668 $PATH_SEPERATOR = $ps;
Sander Vesik2beb9252002-08-27 10:31:48 +0000669 $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."alpha";
670 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."alpha".$ds."client";
671 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."alpha".$ds."native_threads";
672}
Vladimir Glazounov5b67f992005-03-07 16:28:47 +0000673elsif ( $platform =~ m/cygwin/ )
Kurt Zenker8ecc7052007-12-12 14:37:11 +0000674{
Kurt Zenker8ecc7052007-12-12 14:37:11 +0000675 $MSPDB_PATH = PathFormat('@MSPDB_PATH@');
676 $MIDL_PATH = PathFormat('@MIDL_PATH@');
677 $CSC_PATH = PathFormat('@CSC_PATH@');
678 $PSDK_HOME = PathFormat('@PSDK_HOME@');
679 $DIRECTXSDK_LIB = PathFormat('@DIRECTXSDK_LIB@');
Oliver Bolte69d4b0f2007-11-12 07:36:01 +0000680 $USE_DIRECTX5 = "";
Kurt Zenker8ecc7052007-12-12 14:37:11 +0000681 $FRAME_HOME = PathFormat('@FRAME_HOME@');
Jens-Heiner Rechtiene0ac98f2003-03-19 15:03:25 +0000682 $USE_NEW_SDK = "TRUE";
Sander Vesik2beb9252002-08-27 10:31:48 +0000683 $GUI = "WNT";
684 $GUIBASE = "WIN";
Sander Vesik2beb9252002-08-27 10:31:48 +0000685 $GVER = "NT351";
686 $OS = "WNT";
Sander Vesik2beb9252002-08-27 10:31:48 +0000687 $DYNAMIC_CRT = "TRUE";
688 $SET_EXCEPTIONS = "TRUE";
Sander Vesik2beb9252002-08-27 10:31:48 +0000689 $use_shl_versions = "TRUE";
Kurt Zenker8ecc7052007-12-12 14:37:11 +0000690 $wps = ';'; # Windows style path seperator
Vladimir Glazounov9e4411b2003-06-12 09:16:12 +0000691 if ( $MINGW eq "yes" )
Damjan Jovanovicca68acd2016-08-07 19:24:03 +0000692 {
Kurt Zenker8ecc7052007-12-12 14:37:11 +0000693 print "Setting Windows NT cygwin MinGW specific values... ";
Kurt Zenkerb37d0352008-03-05 15:37:05 +0000694 $FLIPCMD = "slfl.pl";
695 $PATH_SEPERATOR = ';';
Jens-Heiner Rechtiene0ac98f2003-03-19 15:03:25 +0000696 $outfile = "winmingw.set";
tonoeba2cc52010-01-24 18:56:44 +0900697 $COMPATH = PathFormat('@COMPATH@/bin');
698 $COMPATH =~ s/\/bin$//i;
Damjan Jovanovic573f2902018-03-12 17:32:09 +0000699 $CPUNAME = "INTEL";
700 $CPU = "I";
Vladimir Glazounov3673e4f2007-03-27 09:20:09 +0000701 $CVER = "C341";
Sander Vesik2beb9252002-08-27 10:31:48 +0000702 $OUTPATH = "wntgcci";
Vladimir Glazounov1b131d32007-05-25 10:10:05 +0000703 $ATL_INCLUDE = '$SOLARVER'.$ds.'$INPATH'.$ds."inc".$ds."external".$ds."mingw".$ds."include".$ds."atl". " ".'$PSDK_HOME'.$ds."include".$ds."atl";
Sander Vesik2beb9252002-08-27 10:31:48 +0000704 }
Vladimir Glazounov9e4411b2003-06-12 09:16:12 +0000705 else # The MSVC section starts here
Damjan Jovanovic573f2902018-03-12 17:32:09 +0000706 {
tonoeba2cc52010-01-24 18:56:44 +0900707 $COMPATH = PathFormat('@COMPATH@');
Jürgen Schmidt5ee08bd2013-02-19 13:28:56 +0000708 $CXX_X64_BINARY = PathFormat('@COMPATH@/bin/amd64/cl.exe');
709 $LINK_X64_BINARY = PathFormat('@COMPATH@/bin/amd64/link.exe');
710 $LIBMGR_X64_BINARY = PathFormat('@COMPATH@/bin/amd64/lib.exe');
Vladimir Glazounov9e4411b2003-06-12 09:16:12 +0000711 $COMEX = '@COMEX@';
Jens-Heiner Rechtien79f252a2004-03-09 11:31:38 +0000712 if ( "@COMEX@" eq "10" ) { # .NET 2003 needs M1310
713 $CVER = "M1310";
Kurt Zenkerc016e892008-04-04 09:56:32 +0000714 } elsif ( "@COMEX@" ge "11" ) { # .NET 2005 needs M1400
715 if ( "@COMEX@" eq "11" ) {
716 $CVER = "M1400";
717 } elsif ( "@COMEX@" eq "12" ) {
718 $CVER = "M1500";
719 } else { # Unsupported
720 die "Unsupported value for COMEX variable.\n";
721 }
Vladimir Glazounov9e4411b2003-06-12 09:16:12 +0000722 }
Damjan Jovanovic7c02cab2018-03-04 16:46:55 +0000723 # No special treatment for CC and CXX anymore.
724 $FLIPCMD = "slfl.pl";
725 $PATH_SEPERATOR = ';';
Damjan Jovanovic573f2902018-03-12 17:32:09 +0000726 if ( $platform =~ m/^i[3456]86/ || ( ( $platform =~ m/^x86_64/ ) && ( "@BUILD_WIN64@" ne "TRUE" ) ) ) {
727 print "Setting Windows x86 build with bash shell specific values... ";
728 $outfile = "winenv.set";
729 $CPU = "I";
730 $CPUNAME = "INTEL";
731 $OUTPATH = "wntmsci@COMEX@";
732 } elsif ( $platform =~ m/^x86_64/ ) {
733 print "Setting Windows x86_64 build with bash shell specific values... ";
734 $outfile = "winAMD64Env.set";
735 $CPU = "X";
736 $CPUNAME = "X86_64";
737 $OUTPATH = "wntmscx@COMEX@";
738 } else {
739 print "Unsupported Windows architecture: $platform \n";
740 exit 1;
741 }
Sander Vesik2beb9252002-08-27 10:31:48 +0000742 }
Damjan Jovanovic573f2902018-03-12 17:32:09 +0000743 $INPATH = $OUTPATH.$PROEXT;
Sander Vesik2beb9252002-08-27 10:31:48 +0000744}
Jens-Heiner Rechtien8910ba02007-11-02 12:05:24 +0000745elsif ( $platform =~ m/os2/ )
746{
Oliver Bolte4e4c1232008-07-22 16:41:57 +0000747 $COMPATH = PathFormat('@COMPATH@');
748 $MSPDB_PATH = PathFormat('@MSPDB_PATH@');
749 $MIDL_PATH = PathFormat('@MIDL_PATH@');
750 $CSC_PATH = PathFormat('@CSC_PATH@');
751 $PSDK_HOME = PathFormat('@PSDK_HOME@');
752 $FRAME_HOME = PathFormat('@FRAME_HOME@');
Jens-Heiner Rechtien8910ba02007-11-02 12:05:24 +0000753 $USE_NEW_SDK = "TRUE";
754 $CPUNAME = "INTEL";
755 $CPU = "I";
756 $GUI = "OS2";
757 $GUIBASE = "os2";
Jens-Heiner Rechtien8910ba02007-11-02 12:05:24 +0000758 $GVER = "VCL";
759 $OS = "OS2";
760 $DYNAMIC_CRT = "TRUE";
761 $SET_EXCEPTIONS = "TRUE";
762 $use_shl_versions = "TRUE";
763 {
764 print "Setting OS/2 gcc 3.3.5 specific values... \n";
765 $outfile = "os2env.set";
Jens-Heiner Rechtien8910ba02007-11-02 12:05:24 +0000766 $CVER = "C300";
767 $OUTPATH = "os2gcci";
768 $INPATH = $OUTPATH.$PROEXT;
Jens-Heiner Rechtien8910ba02007-11-02 12:05:24 +0000769 $COMEX = '@COMEX@';
770
771 { print "Setting OS/2 with 4OS2 specific values... ";
772 # Change path to lower case.
773 $COMPATH = lc $COMPATH;
774 $PATH_SEPERATOR = ';';
775 $ps = ';';
Oliver Bolte4e4c1232008-07-22 16:41:57 +0000776 $wps = ';'; # Windows style path seperator
Jens-Heiner Rechtien8910ba02007-11-02 12:05:24 +0000777 }
778
779 }
780}
Vladimir Glazounov5b67f992005-03-07 16:28:47 +0000781elsif ( $platform =~ m/darwin/ )
Jens-Heiner Rechtiene0ac98f2003-03-19 15:03:25 +0000782{ print "Setting Mac OS X/Darwin specific values... ";
Sander Vesik2beb9252002-08-27 10:31:48 +0000783 $BIG_SVX = "TRUE";
Sander Vesik2beb9252002-08-27 10:31:48 +0000784 $COMPATH = '@COMPATH@';
Herbert Dürr4e347ce02014-01-02 15:45:55 +0000785 print "Darwin platform = " . $platform ." ";
786 if( $CC =~ "gcc" )
Kurt Zenker7d5e8a72006-02-03 16:36:16 +0000787 {
Herbert Dürr4e347ce02014-01-02 15:45:55 +0000788 print "Setting values for MacOSX/Darwin for Xcode<=3";
Jens-Heiner Rechtienaf719592007-01-03 10:33:57 +0000789 $outfile = "MacOSXX86Env.Set";
Kurt Zenker7d5e8a72006-02-03 16:36:16 +0000790 $CPU = "I";
791 $CPUNAME = "INTEL";
Kurt Zenker7d5e8a72006-02-03 16:36:16 +0000792 $OUTPATH = "unxmacxi";
793 }
Herbert Dürr4e347ce02014-01-02 15:45:55 +0000794 elsif ($platform =~ m/^i[3456]86/)
Kurt Zenker7d5e8a72006-02-03 16:36:16 +0000795 {
Herbert Dürr4e347ce02014-01-02 15:45:55 +0000796 print "Setting values for MacOSX/Darwin on x86_32... ";
Herbert Dürr4e347ce02014-01-02 15:45:55 +0000797 $outfile = "MacOSXX32Env.Set";
798 $CPU = "I";
799 $CPUNAME = "INTEL";
800 $OUTPATH = "unxmacci";
Kurt Zenker7d5e8a72006-02-03 16:36:16 +0000801 }
Herbert Dürr4e347ce02014-01-02 15:45:55 +0000802 elsif ($platform =~ m/^x86_64/)
803 {
804 print "Setting values for MacOSX/Darwin on x86_64... ";
Herbert Dürr4e347ce02014-01-02 15:45:55 +0000805 $outfile = "MacOSXX64Env.Set";
806 $CPU = "X";
807 $CPUNAME = "X86_64";
808 $OUTPATH = "unxmaccx";
Kurt Zenker94bc2812007-05-10 15:40:35 +0000809 }
Herbert Dürr4e347ce02014-01-02 15:45:55 +0000810 else
811 {
812 print "\nset_soenv: Unknown MacOSX/Darwin platform: $platform\n";
813 exit 1;
814 }
815 $CVER = "DUMMY_CVER";
Sander Vesik2beb9252002-08-27 10:31:48 +0000816 $GUI = "UNX";
Sander Vesik2beb9252002-08-27 10:31:48 +0000817 $GVER = "VCL";
Sander Vesik2beb9252002-08-27 10:31:48 +0000818 $INPATH = $OUTPATH.$PROEXT;
Sander Vesik2beb9252002-08-27 10:31:48 +0000819 $OS = "MACOSX";
820 $PATH_SEPERATOR = $ps;
Sander Vesik2beb9252002-08-27 10:31:48 +0000821 # GUIBASE is set below; may be "aqua" or "unx".
822}
Vladimir Glazounov5b67f992005-03-07 16:28:47 +0000823elsif ( $platform =~ m/aix/ )
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +0000824{
Kurt Zenker8c209a72005-07-14 12:45:49 +0000825 if( $platform !~ m/^powerpc/ )
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +0000826 {
827 print "\nAIX has only been ported and tested on powerpc\n";
Kurt Zenker8c209a72005-07-14 12:45:49 +0000828 AddWarning( "set_soenv", "Platform $platform has not been tested");
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +0000829 }
Vladimir Glazounov5b67f992005-03-07 16:28:47 +0000830 print "Setting AIX PPC specific values... ";
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +0000831 $outfile = "aixPPCEnv.Set";
832 $CPU = "P";
833 $CPUNAME = "POWERPC";
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +0000834 $OUTPATH = "unxlngppc";
835 $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc";
836 $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc".$ds."classic";
837 $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc".$ds."native_threads";
838 $BIG_SVX = "TRUE";
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +0000839 $CVER = "C300";
840 $COMPATH = '@COMPATH@';
841 $GUI = "UNX";
842 $GUIBASE = "unx";
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +0000843 $GVER = "VCL";
844 $INPATH = $OUTPATH.$PROEXT;
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +0000845 $OS = "AIX";
846 $PATH_SEPERATOR = $ps;
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +0000847}
Vladimir Glazounov9e4411b2003-06-12 09:16:12 +0000848else {
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +0000849 print "\nset_soenv: Cannot figure out what platform you are running\n";
Kurt Zenker8c209a72005-07-14 12:45:49 +0000850 print "For $platform.\n";
Vladimir Glazounov9e4411b2003-06-12 09:16:12 +0000851 exit 1;
852}
Don Lewisa3e11232018-04-28 02:47:11 +0000853
854if ( $CPUNAME eq "X86_64") {
855 $ALIGN = "NEED_ALIGN16";
856}
857else {
858 $ALIGN = "NEED_ALIGN8";
859}
860
Sander Vesik2beb9252002-08-27 10:31:48 +0000861print "done\n";
862
863#
864# D. Gathering directory information from the user.
865#
Vladimir Glazounovefacf572005-03-08 15:35:34 +0000866# If the directory does not exist something is strange.
Herbert Dürrd340fd42012-10-24 14:25:50 +0000867# 1. Apache OpenOffice build home directory.
Kurt Zenker8ecc7052007-12-12 14:37:11 +0000868chomp($SRC_ROOT = `pwd`);
Sander Vesik2beb9252002-08-27 10:31:48 +0000869$SRC_ROOT =~ s/\/config_office//;
Kurt Zenker8ecc7052007-12-12 14:37:11 +0000870$SRC_ROOT = PathFormat($SRC_ROOT);
Sander Vesik2beb9252002-08-27 10:31:48 +0000871CheckPathExist( $SRC_ROOT );
872
Ivo Hinkelmann8bcc9712009-11-18 17:50:36 +0100873
Sander Vesik2beb9252002-08-27 10:31:48 +0000874#-----------------------------------------------------------------------------------------------------
875# Copy top level makefile from config_office/ to $SRC_ROOT
876#-----------------------------------------------------------------------------------------------------
877if (! -e "makefile.rc")
878{ AddWarning( "set_soenv", "makefile.rc not found in config_office/. Could not copy to SRC_ROOT." );
879}
880else
881{ `cp -f makefile.rc $SRC_ROOT/makefile.mk`;
882}
883
884# 2. Java home directory.
Jens-Heiner Rechtien0bd236a2003-04-28 16:02:16 +0000885# JAVA_HOME as argument from autoconf.
Kurt Zenker8ecc7052007-12-12 14:37:11 +0000886$JAVA_HOME = PathFormat('@JAVA_HOME@') ;
Armin Theissend79016b2002-10-22 12:24:17 +0000887
Jens-Heiner Rechtien8910ba02007-11-02 12:05:24 +0000888if ( $platform =~ m/cygwin|os2/ ) {
Sander Vesik2beb9252002-08-27 10:31:48 +0000889 $JAVA_HOME =~ s/[\s\/]+$//; # remove trailing \n or \/ if there is any.
890}
Kurt Zenker06fed35d2006-07-05 21:32:39 +0000891# 3. shell path.
Yuri Dario0b19c4b2012-02-16 14:44:11 +0000892if ( $platform =~ m/os2/ )
893{
894$OOO_SHELL = 'sh';
895}
896else
897{
sb52fae282010-01-12 18:49:59 +0100898$OOO_SHELL = '@SHELLPATH@'."\/bash";
Yuri Dario0b19c4b2012-02-16 14:44:11 +0000899}
Jens-Heiner Rechtien0bd236a2003-04-28 16:02:16 +0000900
Sander Vesik2beb9252002-08-27 10:31:48 +0000901# ml.exe assembler path for Windows users.
Vladimir Glazounov5b67f992005-03-07 16:28:47 +0000902if ($platform =~ m/cygwin/)
Kurt Zenker8ecc7052007-12-12 14:37:11 +0000903{ $ASM_PATH = PathFormat('@ASM_HOME@');
Sander Vesik2beb9252002-08-27 10:31:48 +0000904}
Rüdiger Timma523c002005-03-30 10:38:22 +0000905
Don Lewiscd952b42016-08-19 18:28:06 +0000906# nasm.exe assembler path for Windows users.
907if ($platform =~ m/cygwin/)
908{ $NASM_PATH = PathFormat('@NASM_HOME@');
909}
910
Sander Vesik2beb9252002-08-27 10:31:48 +0000911#
Pedro Giffuni545e9762018-08-31 03:53:49 +0000912# E. Determining the environment values based on the information
Sander Vesik2beb9252002-08-27 10:31:48 +0000913# that was gathered earlier on.
914#
915print "Setting the environment variables... ";
916$USR = $ds."usr";
917$ETC = $ds."etc";
918$BIN = $ds."bin";
919$LIB = $ds."lib";
Jens-Heiner Rechtiend63cb972004-02-04 14:08:23 +0000920$LIB64 = $ds."lib";
921$LIB64 .= "64"
Kurt Zenkerbe376e52008-04-03 15:49:47 +0000922if ($platform =~ m/x86_64-.*-linux/);
Kurt Zenker927d81f2007-06-18 15:36:33 +0000923$LIB64 .= "64"
Kurt Zenkerbe376e52008-04-03 15:49:47 +0000924if (($platform =~ m/powerpc64-.*-linux/) && ('@SIZEOF_LONG@' eq '8'));
925$LIB64 .= "64"
926if (($platform =~ m/s390x-.*-linux/) && ('@SIZEOF_LONG@' eq '8'));
Sander Vesik2beb9252002-08-27 10:31:48 +0000927$INC = $ds."inc";
928$INCLUDE = $ds."include";
929$DEV = $ds."dev";
930$OPT = $ds."opt";
931$LOCAL = $ds."local";
932$SOLENV = $ds."solenv";
933$SOLVER = $ds."solver";
934$CONFIG = $ds."config";
935$USR_BIN = $USR.$BIN;
Jens-Heiner Rechtiend63cb972004-02-04 14:08:23 +0000936$USR_LIB = $USR.$LIB64;
Sander Vesik2beb9252002-08-27 10:31:48 +0000937$USR_LOCAL = $USR.$ds."local";
938$USR_CCS = $USR.$ds."ccs";
939$USR_OPENWIN = $USR.$ds."openwin";
940$USR_DT = $USR.$ds."dt";
941$COMMON_BUILD_TOOLS = '$SRC_ROOT'.$ds."external".$ds."common";
942
Armin Theissend79016b2002-10-22 12:24:17 +0000943# Generate alternate output file for sh?
Rüdiger Timmb947b022006-05-04 08:25:34 +0000944$outfile_sh = $outfile.".sh";
Jens-Heiner Rechtiene0ac98f2003-03-19 15:03:25 +0000945
Pedro Giffuni05628402011-11-09 20:10:55 +0000946if ($GUI eq "OS2")
947{
948 # Generate output file for 4os2?
949 $outfile_bat = $outfile;
950 $outfile_bat =~ s/set$/cmd/i;
951}
952
Sander Vesik2beb9252002-08-27 10:31:48 +0000953# Windows NT only variables
Vladimir Glazounov5b67f992005-03-07 16:28:47 +0000954if ($platform =~ m/cygwin/)
Sander Vesik2beb9252002-08-27 10:31:48 +0000955{
956 if ( $JAVA_HOME ne "" )
957 {
958 $JAVA_LIB = $JAVA_HOME.$LIB;
959 }
Pedro Giffunife289612016-05-22 01:05:14 +0000960 # Import SystemDrive environment variable
Sander Vesik2beb9252002-08-27 10:31:48 +0000961 use Env qw(SYSTEMDRIVE);
962 # Change $SYSTEMDRIVE to lower case.
963 $SYSTEMDRIVE = lc $SYSTEMDRIVE;
964 use Env qw(SYSTEMROOT);
Kurt Zenker8ecc7052007-12-12 14:37:11 +0000965 $CYGWIN_PATH = PathFormat('@CYGWIN_PATH@'); # Windows bash path
Rüdiger Timm027b5882004-06-16 09:48:31 +0000966 $WIN_GREP = '$CYGWIN_PATH'.$ds."grep.exe";
967 $WIN_FIND = '$CYGWIN_PATH'.$ds."find.exe";
968 $WIN_LS = '$CYGWIN_PATH'.$ds."ls.exe";
969 $WIN_GNUCOPY = '$CYGWIN_PATH'.$ds."cp.exe";
970 $WIN_TOUCH = '$CYGWIN_PATH'.$ds."touch.exe";
Sander Vesik2beb9252002-08-27 10:31:48 +0000971}
972
973if ( $JAVA_HOME ne "" )
974{
975 $JAVA_BIN = $JAVA_HOME.$BIN;
976 $JAVA_INCLUDE = $JAVA_HOME.$ds."include";
977}
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +0000978
979
Kurt Zenker8ecc7052007-12-12 14:37:11 +0000980$PERL = PathFormat('@PERL@'); # Perl program
Sander Vesik2beb9252002-08-27 10:31:48 +0000981$PERL_PATH = dirname('@PERL@'); # Perl Path
Kurt Zenker8ecc7052007-12-12 14:37:11 +0000982$XLIB = PathFormat('@XLIB@'); # X11 libraries
983$XINC = PathFormat('@XINC@'); # X11 includes
Sander Vesik2beb9252002-08-27 10:31:48 +0000984
Yuri Darioed2aea92013-10-27 10:33:57 +0000985# YD disable autodetection, use PATH
986if ( $platform =~ m/os2/ )
987{
988 $PERL = 'perl';
989 $PERL_PATH = '';
990}
Sander Vesik2beb9252002-08-27 10:31:48 +0000991
Sander Vesik2beb9252002-08-27 10:31:48 +0000992# The project's workstamp.
Vladimir Glazounov19b77d82003-12-17 14:01:33 +0000993$WORK_STAMP = "@SOURCEVERSION@";
Sander Vesik2beb9252002-08-27 10:31:48 +0000994# Location of the source.
995$SOLARSRC = '$SRC_ROOT';
Hans-Joachim Lankenaub221a932009-11-27 15:39:46 +0100996# Location of the repository.
997my @splitlist = split( /\//, $SRC_ROOT );
998pop @splitlist;
999$SOURCE_ROOT_DIR = join("/", @splitlist);
Hans-Joachim Lankenaua9669262010-01-15 14:55:12 +01001000
1001# default TARFILE_LOCATION
1002if ('@TARFILE_LOCATION@' eq "DEFAULT")
1003{ $TARFILE_LOCATION="$SOURCE_ROOT_DIR/ext_sources";
1004}
1005
Sander Vesik2beb9252002-08-27 10:31:48 +00001006#
1007$DEVROOT = '$SRC_ROOT';
1008# Set solenv and solver to given or default values.
1009# Location of the solenv tree.
1010if ('@LOCAL_SOLENV@' eq "DEFAULT")
1011{ $SOLARENV = $SRC_ROOT.$SOLENV;
1012}
1013else
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001014{ $SOLARENV = PathFormat('@LOCAL_SOLENV@');
Sander Vesik2beb9252002-08-27 10:31:48 +00001015}
1016# Location of the solver tree.
1017if ('@LOCAL_SOLVER@' eq "DEFAULT")
Vladimir Glazounov986eb3f2006-11-21 14:13:02 +00001018{ $SOLARVER = $SRC_ROOT.$SOLVER.$ds.$UPD;
Sander Vesik2beb9252002-08-27 10:31:48 +00001019}
1020else
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001021{ $SOLARVER = PathFormat('@LOCAL_SOLVER@').$ds.$UPD;
Sander Vesik2beb9252002-08-27 10:31:48 +00001022}
1023#Location of Solar version.
Vladimir Glazounov986eb3f2006-11-21 14:13:02 +00001024$SOLARVERSION = '$SOLARVER';
Sander Vesik2beb9252002-08-27 10:31:48 +00001025
Hans-Joachim Lankenaue5918522010-11-18 17:11:41 +01001026#Location of gnu make directories.
1027$WORKDIR = '$SOLARVER/$INPATH/workdir';
1028$OUTDIR = '$SOLARVER/$INPATH';
1029
Sander Vesik2beb9252002-08-27 10:31:48 +00001030$SOLARENVINC = '$SOLARENV'.$INC;
1031# Location of
1032$LOCALINI = '$SOLARENV'.$CONFIG;
1033# Location of
1034$STAR_INIROOT = '$SOLARENV'.$CONFIG;
1035# Location of
1036$STAR_INIROOTOLD = '$SOLARENV'.$CONFIG;
1037# Location of
1038$STAR_STANDLST = '$SOLARENV'.$CONFIG.$ds."stand.lst";
1039# Location of
1040$STAR_SSCOMMON = '$SOLARENV'.$CONFIG.$ds."ssolar.cmn";
1041# Location of
1042$STAR_SSOLARINI = '$SOLARENV'.$CONFIG.$ds."ssolar.ini";
Sander Vesik2beb9252002-08-27 10:31:48 +00001043# Location of dmake resource.
1044$DMAKEROOT = '$SOLARENVINC'.$ds."startup";
1045# Location of JDK classes .zip file.
1046# but in jdk 1.2 it is called rt.jar and it lives in jre/lib
Kurt Zenkerb37d0352008-03-05 15:37:05 +00001047$CLASSPATH = '$JAVA_HOME'.$ds.'jre'.$LIB.$ds."rt.jar".$wps.'.';
Sander Vesik2beb9252002-08-27 10:31:48 +00001048# Location of the JDK supported standard classes.zip file.
1049# see above for why the change
Kurt Zenkerb37d0352008-03-05 15:37:05 +00001050$XCLASSPATH = '$JAVA_HOME'.$ds.'jre'.$LIB.$ds."rt.jar".$wps.'.';
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +00001051
Sander Vesik2beb9252002-08-27 10:31:48 +00001052# Location used by the linker to create libraries.
Vladimir Glazounov5b67f992005-03-07 16:28:47 +00001053if ($platform =~ m/solaris/)
Sander Vesik2beb9252002-08-27 10:31:48 +00001054{ $SOLAREXTRALIB = $L.$par_dir.$LIB.
1055 $L.'$SOLARENV'.$ds.'$OUTPATH'.$ds."lib.solaris.2.6".
1056 $L.$LIB.
1057 $L.$USR.$LIB.
1058 $L.$USR.$LOCAL.$LIB.
1059 $L.$USR_DT.$LIB.
1060 $L.$USR_OPENWIN.$LIB;
1061}
sbabe1d852009-11-13 11:04:06 +01001062elsif ($platform =~ m/linux|netbsd|osf1|freebsd|aix/)
Armin Theissend79016b2002-10-22 12:24:17 +00001063{
Jens-Heiner Rechtiend63cb972004-02-04 14:08:23 +00001064 $SOLAREXTRALIB = $L.$par_dir.$LIB64;
Sander Vesik2beb9252002-08-27 10:31:48 +00001065}
Vladimir Glazounov5b67f992005-03-07 16:28:47 +00001066elsif ($platform =~ m/darwin/)
Sander Vesik2beb9252002-08-27 10:31:48 +00001067{ $SOLAREXTRALIB = $L.$LIB.
1068 $L.$USR.$LIB;
1069}
Jens-Heiner Rechtien8910ba02007-11-02 12:05:24 +00001070elsif ($platform !~ m/cygwin|os2/ )
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +00001071{ AddWarning( "set_soenv", "$platform not configured for linkage create libraries" );
1072}
Sander Vesik2beb9252002-08-27 10:31:48 +00001073
Sander Vesik2beb9252002-08-27 10:31:48 +00001074# Windows NT only variables
Jens-Heiner Rechtien8910ba02007-11-02 12:05:24 +00001075if ($platform =~ m/cygwin|os2/)
Sander Vesik2beb9252002-08-27 10:31:48 +00001076{ $COMP_ENV = $OUTPATH;
1077
1078 $JAVAHOME = '$JAVA_HOME';
1079
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001080 $ILIB = $cur_dir;
1081
Vladimir Glazounov9e4411b2003-06-12 09:16:12 +00001082 # Mingw is different
Don Lewisad3dba52018-03-09 04:22:18 +00001083 if ( "@COM@" eq "MSC" )
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001084 { $ILIB .= $wps.$SOLARVER.$ds.$INPATH.$LIB.
Damjan Jovanovic573f2902018-03-12 17:32:09 +00001085 $wps.$JAVA_HOME.$LIB;
1086 if ( ( $CPUNAME eq "INTEL" ) || ( ( $CPUNAME eq "X86_64" ) && ( "@BUILD_WIN64@" ne "TRUE" ) ) ) {
1087 $ILIB .= $wps.$PSDK_HOME.$LIB.
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001088 $wps.$FRAME_HOME.$LIB.
1089 $wps.$COMPATH.$LIB;
Damjan Jovanovic573f2902018-03-12 17:32:09 +00001090 } elsif ( $CPUNAME eq "X86_64" ) {
1091 $ILIB .= $wps.$PSDK_HOME.$LIB.$ds."x64".
1092 $wps.$FRAME_HOME.$LIB.
1093 $wps.$COMPATH.$LIB.$ds."amd64";
1094 } else {
1095 print "Unsupported Windows CPU: $CPUNAME\n";
1096 exit 1;
1097 }
Jens-Heiner Rechtiene0879c02005-04-11 07:52:38 +00001098 if ( '@ENABLE_DIRECTX@' ne "" ) {
Jürgen Schmidt5ab33b42011-11-03 16:09:19 +00001099 # We may have DirectX but not DirectDraw
1100 if ( '@ENABLE_DIRECT_DRAW@' ne "") {
1101 $ILIB .= $wps.$DIRECTXSDK_LIB;
1102 if ( '@COMEX@' eq "10" ) {
1103 # .NET2003 provides and compiles against DirectX 5 libraries and is
1104 # hereby still Win9x compatible.
1105 $ILIB .= $wps.'$COMPATH'.$ds.'PlatformSDK'.$LIB;
1106 $USE_DIRECTX5 = "YES";
1107 }
Oliver Bolte69d4b0f2007-11-12 07:36:01 +00001108 }
Vladimir Glazounov3673e4f2007-03-27 09:20:09 +00001109 }
Ivo Hinkelmann71285c32008-02-04 11:56:11 +00001110 # ILIB needs to use '\' directory seperators;
1111 $ILIB = WinPath( $ILIB, ";" );
Vladimir Glazounov3673e4f2007-03-27 09:20:09 +00001112 }
Don Lewisad3dba52018-03-09 04:22:18 +00001113 elsif ( "@COM@" eq "GCC" )
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001114 { $ILIB .= $wps.$SOLARVER.$ds.$INPATH.$LIB.
1115 $wps.$SOLARVER.$ds.$INPATH.$BIN.
1116 $wps.$JAVA_HOME.$LIB;
Vladimir Glazounov3673e4f2007-03-27 09:20:09 +00001117 if ( $USE_MINGW eq "cygwin" )
Ivo Hinkelmann71285c32008-02-04 11:56:11 +00001118 { $ILIB .= $wps.PathFormat($USR.$LIB.$ds."mingw").
Vladimir Glazounov024e5772009-01-20 16:36:21 +00001119 $wps.PathFormat($USR.$LIB.$ds."w32api");
Vladimir Glazounov3673e4f2007-03-27 09:20:09 +00001120 }
Ivo Hinkelmann71285c32008-02-04 11:56:11 +00001121 else
1122 { $ILIB .= $wps.$COMPATH.$LIB;
1123 }
Vladimir Glazounovf09524d2009-08-26 06:36:38 +00001124 $ILIB .= $wps.PathFormat("@MINGW_CLIB_DIR@").
1125 $wps.$PSDK_HOME.$LIB;
Eike Rathke835bba12011-09-05 17:24:11 +00001126 if ( '@ENABLE_DIRECTX@' )
Ivo Hinkelmann71285c32008-02-04 11:56:11 +00001127 { $ILIB .= $wps.PathFormat("@DIRECTXSDK_LIB@");
Jens-Heiner Rechtien6ac2a602004-10-11 12:48:47 +00001128 }
Vladimir Glazounov9e4411b2003-06-12 09:16:12 +00001129 }
Sander Vesik2beb9252002-08-27 10:31:48 +00001130
1131 $JAVAHOME = '$JAVA_HOME';
1132
Sander Vesik2beb9252002-08-27 10:31:48 +00001133}
1134
1135# The general environment path.
sbabe1d852009-11-13 11:04:06 +01001136if ($platform =~ m/linux|netbsd|odf1|freebsd|aix|solaris/)
Don Lewiseee1fb32018-01-08 08:56:31 +00001137{ $PATH = '$SOLARENV'.$ds.'$INPATH'.$BIN.
Sander Vesik2beb9252002-08-27 10:31:48 +00001138 $ps.'$SOLARENV'.$BIN;
Jens-Heiner Rechtien25e51f22004-02-02 17:17:15 +00001139
Vladimir Glazounov5b67f992005-03-07 16:28:47 +00001140 if ($platform =~ m/solaris/) {
Jens-Heiner Rechtien25e51f22004-02-02 17:17:15 +00001141 $PATH .= $ps.$USR_CCS.$BIN;
Jens-Heiner Rechtiene0ac98f2003-03-19 15:03:25 +00001142 }
Jens-Heiner Rechtien25e51f22004-02-02 17:17:15 +00001143
Jens-Heiner Rechtien0bd236a2003-04-28 16:02:16 +00001144 $PATH .= $ps.$oldPATH;
1145
Jens-Heiner Rechtien25e51f22004-02-02 17:17:15 +00001146 my @javaBits;
Oliver Bolte3f7a6152005-01-25 15:55:07 +00001147 if (( $JAVA_HOME ne "" ) && ( $JDK ne "gcj" )) {
Jens-Heiner Rechtien25e51f22004-02-02 17:17:15 +00001148 @javaBits = ( '$JAVA_HOME'.$BIN, 'javac' );
1149 } else {
1150 @javaBits = ();
1151 }
Don Lewisd364c5b2018-01-07 19:51:56 +00001152 my $ccdir = "@CC_PATH@";
1153 $ccdir =~ s/\/$//;
Kurt Zenker06fed35d2006-07-05 21:32:39 +00001154 $PATH = GetCorrectPath ($PATH,
Don Lewisd364c5b2018-01-07 19:51:56 +00001155 $ccdir, $CC,
Jens-Heiner Rechtien25e51f22004-02-02 17:17:15 +00001156 $PERL_PATH, 'perl',
Jens-Heiner Rechtien25e51f22004-02-02 17:17:15 +00001157 @javaBits);
Sander Vesik2beb9252002-08-27 10:31:48 +00001158}
1159
Oliver Bolte4e4c1232008-07-22 16:41:57 +00001160elsif ($platform =~ m/cygwin/)
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001161{ # The PATH variable is completely created from scratch. Elements
1162 # from oldPATH that are not yet included are appended to PATH at
1163 # the end.
Jens-Heiner Rechtien39561e52005-02-11 13:37:00 +00001164
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001165 my ( $tmppath );
Sander Vesik2beb9252002-08-27 10:31:48 +00001166
Don Lewiseee1fb32018-01-08 08:56:31 +00001167 $PATH = CygFormat($SOLARENV).$ds."bin".
Oliver-Rainer Wittmann153c8ee2012-06-12 07:39:57 +00001168 $ps.CygFormat($SOLARENV).$ds.$INPATH.$BIN;
Sander Vesik2beb9252002-08-27 10:31:48 +00001169
1170 if ( $JAVA_HOME ne "" )
1171 {
1172 # hack either "hotspot" or "client" should be used, depending on the jdk version:
1173 # 1.2.x - no such directory, unsupported
1174 # 1.3.x - hotspot, client missing
1175 # 1.4.x - client, hotspot missing
1176
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001177 $PATH .= $ps.CygFormat($JAVA_HOME).$BIN;
Vladimir Glazounov9e4411b2003-06-12 09:16:12 +00001178 if ( -d $JAVA_HOME.$ds."jre".$ds."bin".$ds."hotspot" ) {
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001179 $PATH .= $ps.CygFormat($JAVA_HOME).$ds."jre".$ds."bin".$ds."hotspot";
Vladimir Glazounov9e4411b2003-06-12 09:16:12 +00001180 }
1181 if ( -d $JAVA_HOME.$ds."jre".$ds."bin".$ds."client" ) {
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001182 $PATH .= $ps.CygFormat($JAVA_HOME).$ds."jre".$ds."bin".$ds."client";
Vladimir Glazounov9e4411b2003-06-12 09:16:12 +00001183 }
Sander Vesik2beb9252002-08-27 10:31:48 +00001184 }
Jens-Heiner Rechtien39561e52005-02-11 13:37:00 +00001185
1186 # Add path to compiler
Don Lewisad3dba52018-03-09 04:22:18 +00001187 if ( "@COM@" eq "MSC" ) {
Damjan Jovanovic573f2902018-03-12 17:32:09 +00001188 if ( ( $CPUNAME eq "INTEL" ) || ( ( $CPUNAME eq "X86_64") && ( "@BUILD_WIN64@" ne "TRUE" ) ) ) {
1189 $tmppath = CygFormat($COMPATH).$BIN;
1190 } elsif ( $CPUNAME eq "X86_64" ) {
1191 $tmppath = CygFormat($COMPATH).$BIN.$ds."amd64";
1192 } else {
1193 print "Unsupported Windows CPU: $CPU\n";
1194 exit 1;
1195 }
1196 $tmppath =~ s/^\/\//\//;
1197 $PATH .= $ps.$tmppath;
1198
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001199 $tmppath = CygFormat($MSPDB_PATH);
Oliver Boltef9289902005-01-05 09:42:09 +00001200 # for .NET to find mspdb71.dll (needed by CL.EXE C/C++ Compiler)
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001201 if ( $PATH !~ /(?:[:]|\A)(?:$tmppath)(?:[:]|\Z)/ ) {
1202 $PATH .= $ps.$tmppath;
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +00001203 }
Kurt Zenkerc016e892008-04-04 09:56:32 +00001204 if ( ( $COMEX ge "10" ) ) {
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +00001205 # .NET needs midl.exe
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001206 $tmppath = CygFormat($MIDL_PATH);
1207 if ( $PATH !~ /(?:[:]|\A)(?:$tmppath)(?:[:]|\Z)/ ) {
1208 $PATH .= $ps.$tmppath;
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +00001209 }
Rüdiger Timmce7a8ad2003-12-01 16:39:16 +00001210 # .NET needs csc.exe
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001211 $tmppath = CygFormat($CSC_PATH);
1212 if ( $PATH !~ /(?:[:]|\A)(?:$tmppath)(?:[:]|\Z)/ ) {
1213 $PATH .= $ps.$tmppath;
Rüdiger Timmce7a8ad2003-12-01 16:39:16 +00001214 }
Rüdiger Timm2268f9a2004-12-03 13:20:01 +00001215 # Native installer needs some files if the Windows Installer SDK
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001216 $tmppath = CygFormat($PSDK_HOME);
1217 if ( $PATH !~ /(?:[:]|\A)(?:$tmppath\/bin)(?:[:]|\Z)/i ) {
1218 $PATH .= $ps.$tmppath.$BIN;
Rüdiger Timm2268f9a2004-12-03 13:20:01 +00001219 }
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +00001220 }
Vladimir Glazounov3673e4f2007-03-27 09:20:09 +00001221 } else { # Mingw is different
Damjan Jovanovic573f2902018-03-12 17:32:09 +00001222 $tmppath = CygFormat($COMPATH).$BIN;
1223 $tmppath =~ s/^\/\//\//;
1224 $PATH .= $ps.$tmppath;
1225
Vladimir Glazounov3673e4f2007-03-27 09:20:09 +00001226 # Native installer needs some files if the Windows Installer SDK
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001227 $tmppath = CygFormat($PSDK_HOME);
1228 if ( $PATH !~ /(?:[:]|\A)(?:$tmppath\/bin)(?:[:]|\Z)/i ) {
1229 $PATH .= $ps.$tmppath.$BIN;
Vladimir Glazounov3673e4f2007-03-27 09:20:09 +00001230 }
Vladimir Glazounov3bfaa3a2003-07-02 13:37:32 +00001231 }
Sander Vesik2beb9252002-08-27 10:31:48 +00001232
Vladimir Glazounov3673e4f2007-03-27 09:20:09 +00001233 if ( $ASM_PATH ne "ASM_IN_PATH" )
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001234 { $PATH .= $ps.CygFormat($ASM_PATH);
Jens-Heiner Rechtien39561e52005-02-11 13:37:00 +00001235 }
Don Lewiscd952b42016-08-19 18:28:06 +00001236 if ( $NASM_PATH ne "NASM_IN_PATH" && $NASM_PATH ne "NO_NASM_HOME" && $NASM_PATH ne "" )
1237 { $PATH .= $ps.CygFormat($NASM_PATH);
1238 }
Jens-Heiner Rechtien39561e52005-02-11 13:37:00 +00001239 # zip.exe / unzip.exe path for Windows users.
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001240 my $zip_home_path = PathFormat('@ZIP_HOME@');
1241 $tmppath = CygFormat($zip_home_path);
1242 if ( $PATH !~ /(?:[:]|\A)(?:$tmppath)(?:[:]|\Z)/ ) {
1243 $PATH .= $ps.$tmppath;
Jens-Heiner Rechtien39561e52005-02-11 13:37:00 +00001244 }
1245
1246 # Possible cygwin paths must follow behind the OOo and MS paths
1247
Sander Vesik2beb9252002-08-27 10:31:48 +00001248 # Check if $PERL_PATH is already set in PATH
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001249 $tmppath = CygFormat($PERL_PATH);
1250 if ( ! ( $PATH =~ /(?:[:]|\A)(?:$tmppath)(?:[:]|\Z)/ ) )
Sander Vesik2beb9252002-08-27 10:31:48 +00001251 {
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001252 $PATH .= $ps.$tmppath;
Sander Vesik2beb9252002-08-27 10:31:48 +00001253 }
Rüdiger Timm027b5882004-06-16 09:48:31 +00001254 # Check if $CYGWIN_PATH is already set in PATH
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001255 $tmppath = CygFormat($CYGWIN_PATH);
1256 if ( $PATH !~ /(?:[:]|\A)(?:$tmppath)(?:[:]|\Z)/ ) {
1257 $PATH .= $ps.$tmppath;
Sander Vesik2beb9252002-08-27 10:31:48 +00001258 }
Ivo Hinkelmann8c9046c2007-04-19 19:42:58 +00001259 # nsis path for Windows users.
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001260 $NSIS_PATH = PathFormat('@NSIS_PATH@');
1261 $tmppath = CygFormat($NSIS_PATH);
1262 if ( $PATH !~ /(?:[:]|\A)(?:$tmppath)(?:[:]|\Z)/ ) {
1263 $PATH .= $ps.$tmppath;
Vladimir Glazounov3673e4f2007-03-27 09:20:09 +00001264 }
Ivo Hinkelmann8c9046c2007-04-19 19:42:58 +00001265 # path to sn.exe (signing) for Windows users.
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001266 my $sn_path = PathFormat('@FRAME_HOME@/bin');
1267 $tmppath = CygFormat($sn_path);
1268 if ( $PATH !~ /(?:[:]|\A)(?:$tmppath)(?:[:]|\Z)/ ) {
1269 $PATH .= $ps.$tmppath;
Ivo Hinkelmann8c9046c2007-04-19 19:42:58 +00001270 }
Vladimir Glazounov3673e4f2007-03-27 09:20:09 +00001271
Jens-Heiner Rechtien39561e52005-02-11 13:37:00 +00001272
1273 # Add the rest of the original path if it is still missing.
Oliver Bolte4e4c1232008-07-22 16:41:57 +00001274 if (($^O eq "cygwin")) { # Not for ActiveState perl
Vladimir Glazounovefacf572005-03-08 15:35:34 +00001275 my $expandedPATH = $PATH;
1276 $expandedPATH =~ s/(\$\w+)/$1/eeg;
Rüdiger Timm7446f212008-09-05 13:14:29 +00001277
1278 # fix situations where PATH may look like /bin:"C:\blah\bleh":/ugh
1279 my $fixedPATH = $oldPATH;
1280 if ( $oldPATH =~ /"/ ) {
1281 $fixedPATH = "";
1282 foreach my $pathentry ( split( '"',$oldPATH ) ) {
1283 if ( ( $pathentry =~ /^$ps/ ) || ( $pathentry =~ /$ps$/ ) ) {
1284 $fixedPATH .= $pathentry;
1285 } else {
1286 chomp( $pathentry = qx{cygpath -d "$pathentry"} ) ;
1287 chomp( $pathentry = qx{cygpath -u "$pathentry"} ) ;
1288 $fixedPATH .= $pathentry;
1289 }
1290 }
1291 }
1292
1293 foreach my $pathentry (split($ps,$fixedPATH)) {
Vladimir Glazounovefacf572005-03-08 15:35:34 +00001294 if ( ! ( $expandedPATH =~ /(?:$ps|\A)(?:$pathentry)(?:$ps|\Z)/ ) ) {
Jens-Heiner Rechtien39561e52005-02-11 13:37:00 +00001295 $PATH .= $ps.$pathentry;
Vladimir Glazounovefacf572005-03-08 15:35:34 +00001296 $expandedPATH .= $ps.$pathentry;
Jens-Heiner Rechtien39561e52005-02-11 13:37:00 +00001297 }
1298 }
1299 } else {
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001300 $PATH .= $ps.$oldPATH;
Jens-Heiner Rechtien39561e52005-02-11 13:37:00 +00001301 }
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001302
1303 # The path now is in cygwin posix format
1304
Sander Vesik2beb9252002-08-27 10:31:48 +00001305}
1306
Oliver Bolte4e4c1232008-07-22 16:41:57 +00001307elsif ($platform =~ m/os2/)
1308{ # The PATH variable is completely created from scratch. Everything that is not
1309 # needed is appended to the end.
1310
Don Lewiseee1fb32018-01-08 08:56:31 +00001311 $PATH = '$SOLARENV'.$ds."bin".
Oliver-Rainer Wittmann153c8ee2012-06-12 07:39:57 +00001312 $ps.'$SOLARENV'.$ds.'$INPATH'.$BIN;
Oliver Bolte4e4c1232008-07-22 16:41:57 +00001313
1314 if ( $JAVA_HOME ne "" )
1315 {
1316 # hack either "hotspot" or "client" should be used, depending on the jdk version:
1317 # 1.2.x - no such directory, unsupported
1318 # 1.3.x - hotspot, client missing
1319 # 1.4.x - client, hotspot missing
1320
1321 $PATH .= $ps.$JAVA_HOME.$BIN;
1322 if ( -d $JAVA_HOME.$ds."jre".$ds."bin".$ds."hotspot" ) {
1323 $PATH .= $ps.$JAVA_HOME.$ds."jre".$ds."bin".$ds."hotspot";
1324 }
1325 if ( -d $JAVA_HOME.$ds."jre".$ds."bin".$ds."client" ) {
1326 $PATH .= $ps.$JAVA_HOME.$ds."jre".$ds."bin".$ds."client";
1327 }
1328 }
1329
Pedro Giffuni05628402011-11-09 20:10:55 +00001330 if ( '@ANT_HOME@' ne '' )
1331 {
Yuri Dario0b19c4b2012-02-16 14:44:11 +00001332 $PATH .= $ps.'@ANT_HOME@/bin';
Pedro Giffuni05628402011-11-09 20:10:55 +00001333 }
1334
Oliver Bolte4e4c1232008-07-22 16:41:57 +00001335 # Append old PATH
1336 my $temp = $oldPATH;
1337 $temp =~ s/\\/\//g ;
1338 $PATH .= $ps.$temp;
1339}
1340
Vladimir Glazounov5b67f992005-03-07 16:28:47 +00001341elsif ($platform =~ m/darwin/)
Don Lewiseee1fb32018-01-08 08:56:31 +00001342{ $PATH = '$SOLARENV'.$ds.'$INPATH'.$BIN.
Jens-Heiner Rechtien7d3ce442007-08-03 12:09:48 +00001343 $ps.'$SOLARENV'.$BIN;
Vladimir Glazounovb7559b02005-02-24 13:07:05 +00001344
1345 # Append old PATH
1346 $PATH .= $ps.$oldPATH;
Sander Vesik2beb9252002-08-27 10:31:48 +00001347}
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +00001348else
1349{ AddWarning( "set_soenv", "$platform not configured for general environment paths" );
1350}
1351
Sander Vesik2beb9252002-08-27 10:31:48 +00001352# Linker library search directory paths.
Vladimir Glazounov5b67f992005-03-07 16:28:47 +00001353if ($platform =~ m/solaris/)
Sander Vesik2beb9252002-08-27 10:31:48 +00001354{ $SOLARLIB = $L.$par_dir.$LIB.
1355 $L.'$SOLARENV'.$ds.'$OUTPATH'.$LIB.
Vladimir Glazounov986eb3f2006-11-21 14:13:02 +00001356 $L.'$SOLARVER'.$ds.'$INPATH'.$LIB.
Sander Vesik2beb9252002-08-27 10:31:48 +00001357 $L.'$SOLARENV'.$ds.'$OUTPATH'.$LIB.
1358 $L.'$SOLARENV'.$ds.'$OUTPATH'.$LIB."solaris.2.6".
1359 $L.$LIB.
Kurt Zenker562c9222005-01-18 13:55:37 +00001360 $L.$USR_LIB;
1361 if ( $CC =~ "gcc" ) {
Hans-Joachim Lankenaub221a932009-11-27 15:39:46 +01001362 $SOLARLIB .= $L.$COMPATH.$LIB;
Kurt Zenker562c9222005-01-18 13:55:37 +00001363 }
1364 $SOLARLIB .= $L.$USR_LOCAL.$LIB.
Sander Vesik2beb9252002-08-27 10:31:48 +00001365 $L.$USR_DT.$LIB.
1366 $L.$USR_OPENWIN.$LIB.
1367 $L.'$JAVA_HOME'.$LIB.
1368 $L.$JRELIBDIR.
1369 $L.$JRETOOLKITDIR.
1370 $L.$JRETHREADDIR.
Sander Vesik2beb9252002-08-27 10:31:48 +00001371 $L.$XLIB;
1372}
sbabe1d852009-11-13 11:04:06 +01001373elsif ($platform =~ m/linux|netbasd|osf1|aix|freebsd/)
Sander Vesik2beb9252002-08-27 10:31:48 +00001374{ $SOLARLIB = $L.$par_dir.$LIB.
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +00001375 $L.'$SOLARENV'.$ds.'$OUTPATH'.$LIB.
Vladimir Glazounov986eb3f2006-11-21 14:13:02 +00001376 $L.'$SOLARVER'.$ds.'$INPATH'.$LIB.
Sander Vesik2beb9252002-08-27 10:31:48 +00001377 $L.'$SOLARENV'.$ds.'$OUTPATH'.$LIB.
Jens-Heiner Rechtien35a3c352006-04-19 13:02:40 +00001378 $L.'$JAVA_HOME'.$LIB64.
Sander Vesik2beb9252002-08-27 10:31:48 +00001379 $L.$JRELIBDIR.
1380 $L.$JRETOOLKITDIR.
1381 $L.$JRETHREADDIR.
Sander Vesik2beb9252002-08-27 10:31:48 +00001382 $L.$XLIB;
1383}
Jens-Heiner Rechtien8910ba02007-11-02 12:05:24 +00001384elsif ($platform =~ m/cygwin|os2/)
Vladimir Glazounov986eb3f2006-11-21 14:13:02 +00001385{ $SOLARLIB = $L.'$SOLARVER'.$ds.'$INPATH'.$LIB.
Sander Vesik2beb9252002-08-27 10:31:48 +00001386 $L.$par_dir.$LIB.
Sander Vesik2beb9252002-08-27 10:31:48 +00001387 $L.'$SOLARENV'.$ds.'$OUTPATH'.$LIB;
1388}
Vladimir Glazounov5b67f992005-03-07 16:28:47 +00001389elsif ($platform =~ m/darwin/)
Vladimir Glazounov986eb3f2006-11-21 14:13:02 +00001390{ $SOLARLIB = $L.'$SOLARVER'.$ds.'$INPATH'.$LIB.
Sander Vesik2beb9252002-08-27 10:31:48 +00001391 $L.$USR_LIB;
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +00001392 # [ed] 6/15/02 Add in X11 libraries onto the library path
Armin Theissend79016b2002-10-22 12:24:17 +00001393 if ($GUIBASE eq "unx") {
1394 $SOLARLIB .= $L.$XLIB;
1395 }
1396
Sander Vesik2beb9252002-08-27 10:31:48 +00001397}
Rüdiger Timma523c002005-03-30 10:38:22 +00001398
Rüdiger Timma523c002005-03-30 10:38:22 +00001399
Sander Vesik2beb9252002-08-27 10:31:48 +00001400# Location of the compiler include search directory paths.
1401$SOLARINC = $I.$cur_dir.
Vladimir Glazounov986eb3f2006-11-21 14:13:02 +00001402 $I.'$SOLARVER'.$ds.'$INPATH'.$INC.$ds."stl".
1403 $I.'$SOLARVER'.$ds.'$INPATH'.$INC.$ds."external".
1404 $I.'$SOLARVER'.$ds.'$INPATH'.$INC.
Sander Vesik2beb9252002-08-27 10:31:48 +00001405 $I.'$SOLARENV'.$ds.'$OUTPATH'.$INC.
1406 $I.'$SOLARENV'.$INC.
Don Lewis2cf713b2016-03-25 16:26:21 +00001407 $I.'$SRC_ROOT'.$ds."res".
1408 $I.'$SRC_ROOT'.$ds."tools".$INC.
1409 $I.'$SRC_ROOT'.$ds."comphelper".$INC;
Sander Vesik2beb9252002-08-27 10:31:48 +00001410
sbabe1d852009-11-13 11:04:06 +01001411if ($platform =~ m/solaris|linux|osf1|freebsd|netbsd/)
Sander Vesik2beb9252002-08-27 10:31:48 +00001412{
Vladimir Glazounov5b67f992005-03-07 16:28:47 +00001413if ($platform =~ m/linux|freebsd|netbsd/)
Sander Vesik2beb9252002-08-27 10:31:48 +00001414{
1415# This simply adds an include path, so even cases that break the FHS work
Sander Vesik2beb9252002-08-27 10:31:48 +00001416}
Rene Engelhard01b9b272010-06-22 17:22:35 +02001417if ($platform =~ m/solaris/ && ! $CC =~ "gcc")
Sander Vesik2beb9252002-08-27 10:31:48 +00001418{
1419$SOLARINC .= '/SC5 ';
1420}
1421# Platform dependent include path at the top of this list of include paths
Vladimir Glazounov5b67f992005-03-07 16:28:47 +00001422if ($platform =~ m/solaris/)
Hans-Joachim Lankenaub221a932009-11-27 15:39:46 +01001423{
1424 $SOLARINC .= $I.$COMPATH.$ds."include";
Sander Vesik2beb9252002-08-27 10:31:48 +00001425}
Vladimir Glazounovdf8b49802008-03-18 15:09:55 +00001426if ($platform =~ m/linux/)
Armin Theissend79016b2002-10-22 12:24:17 +00001427{
1428# This simply adds an include path, so even cases that break the FHS work
Armin Theissend79016b2002-10-22 12:24:17 +00001429}
1430
Sander Vesik2beb9252002-08-27 10:31:48 +00001431
Oliver Bolte3f7a6152005-01-25 15:55:07 +00001432 $SOLARINC .= $I.'$SOLARENV'.$INC.$ds."Xp31".
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +00001433 $I.'$JAVA_HOME'.$INCLUDE;
Sander Vesik2beb9252002-08-27 10:31:48 +00001434
Oliver Bolte3f7a6152005-01-25 15:55:07 +00001435 #include system dependent Java include directory
1436 if (!($JDK eq "gcj"))
1437 {
Vladimir Glazounov5b67f992005-03-07 16:28:47 +00001438 if ($platform =~ m/solaris/)
Oliver Bolte3f7a6152005-01-25 15:55:07 +00001439 { $SOLARINC .=$I.'$JAVA_HOME'.$INCLUDE.$ds."solaris";
1440 }
Vladimir Glazounovdf8b49802008-03-18 15:09:55 +00001441 elsif ($platform =~ m/linux|osf1/)
Oliver Bolte3f7a6152005-01-25 15:55:07 +00001442 { $SOLARINC .=$I.'$JAVA_HOME'.$INCLUDE.$ds."linux";
1443 }
Vladimir Glazounov5b67f992005-03-07 16:28:47 +00001444 elsif ($platform =~ m/freebsd/)
Oliver Bolte3f7a6152005-01-25 15:55:07 +00001445 {
1446 $SOLARINC .=$I.'$JAVA_HOME'.$INCLUDE.$ds."freebsd";
1447 $SOLARINC .=$I.'$JAVA_HOME'.$INCLUDE.$ds."bsd";
Kurt Zenker3f65f3e2006-07-19 08:36:28 +00001448 $SOLARINC .=$I.'$JAVA_HOME'.$INCLUDE.$ds."linux";
Oliver Bolte3f7a6152005-01-25 15:55:07 +00001449 }
Vladimir Glazounov5b67f992005-03-07 16:28:47 +00001450 elsif ($platform =~ m/netbsd/)
Oliver Bolte3f7a6152005-01-25 15:55:07 +00001451 { $SOLARINC .=$I.'$JAVA_HOME'.$INCLUDE.$ds."netbsd";
1452 }
Sander Vesik2beb9252002-08-27 10:31:48 +00001453
Oliver Bolte3f7a6152005-01-25 15:55:07 +00001454 #java threads include path
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +00001455
Oliver Bolte3f7a6152005-01-25 15:55:07 +00001456 $SOLARINC .=$I.'$JAVA_HOME'.$INCLUDE.$ds."native_threads".$ds."include";
1457 }
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +00001458 #The tail, if needed
Vladimir Glazounovdf8b49802008-03-18 15:09:55 +00001459 if ($platform =~ m/linux|freebsd|netbsd/)
Don Lewis092d339d2018-01-06 08:48:47 +00001460 { if ($XINC ne $USR.$INCLUDE)
1461 { $SOLARINC .= $I.$XINC;
1462 }
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +00001463 }
Vladimir Glazounov5b67f992005-03-07 16:28:47 +00001464 elsif ($platform =~ m/osf1/)
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +00001465 { $SOLARINC .= $I.$XINC.
1466 $I.$USR.$INCLUDE;
1467 }
Sander Vesik2beb9252002-08-27 10:31:48 +00001468}
Vladimir Glazounov5b67f992005-03-07 16:28:47 +00001469elsif ($platform =~ m/cygwin/)
Herbert Dürra7bc1f52013-11-18 16:26:19 +00001470{ $SOLARINC .= $I.'$JAVA_HOME'.$ds."include".$ds."win32".
Vladimir Glazounov3673e4f2007-03-27 09:20:09 +00001471 $I.'$JAVA_HOME'.$ds."include";
Vladimir Glazounov9e4411b2003-06-12 09:16:12 +00001472 # Mingw is different
Don Lewisad3dba52018-03-09 04:22:18 +00001473 if ( "@COM@" eq "MSC" )
Vladimir Glazounov3673e4f2007-03-27 09:20:09 +00001474 { $SOLARINC .= $I.'$PSDK_HOME'.$INCLUDE.
1475 $I.'$COMPATH'.$ds."include";
Jens-Heiner Rechtiene0879c02005-04-11 07:52:38 +00001476 if ( '@ENABLE_DIRECTX@' ne "" ) {
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001477 $SOLARINC .= $I.PathFormat('@DIRECTXSDK_HOME@').$INCLUDE;
Oliver Bolte69d4b0f2007-11-12 07:36:01 +00001478 if ( '@COMEX@' eq "10" ) {
1479 # .NET2003 provides and compiles against DirectX 5 libraries and is
1480 # hereby still Win9x compatible.
1481 $SOLARINC .= $I.'$COMPATH'.$ds.'PlatformSDK'.$ds."include";
1482 }
Jens-Heiner Rechtien6ac2a602004-10-11 12:48:47 +00001483 }
Vladimir Glazounov9e4411b2003-06-12 09:16:12 +00001484 }
Don Lewisad3dba52018-03-09 04:22:18 +00001485 elsif ( "@COM@" eq "GCC" )
Vladimir Glazounov1b131d32007-05-25 10:10:05 +00001486 { $SOLARINC .= $I.'$SOLARVER'.$ds.'$INPATH'.$INC.$ds."external".$ds."mingw".$ds."include";
Vladimir Glazounov3673e4f2007-03-27 09:20:09 +00001487 if ( $USE_MINGW eq "cygwin" )
Vladimir Glazounova8430dc2009-03-12 22:38:26 +00001488 { $SOLARINC .= $I.PathFormat($USR.$ds."include".$ds."mingw").
Ivo Hinkelmann71285c32008-02-04 11:56:11 +00001489 $I.PathFormat($USR.$ds."include".$ds."w32api").
1490 $I.PathFormat($USR.$ds."include"); }
1491 else
1492 { $SOLARINC .= $I.'$COMPATH'.$ds."include"; }
Vladimir Glazounov1b131d32007-05-25 10:10:05 +00001493 @mingw_lib_include_paths = split( / /, "@MINGW_LIB_INCLUDE_PATH@" );
Vladimir Glazounovf09524d2009-08-26 06:36:38 +00001494 $SOLARINC .= $I.PathFormat("@MINGW_BACKWARD_INCLUDE_PATH@");
Vladimir Glazounov1b131d32007-05-25 10:10:05 +00001495 foreach $mingw_lib_include_path (@mingw_lib_include_paths)
1496 { chomp $mingw_lib_include_path;
1497 if ( $mingw_lib_include_path ne $COMPATH.$ds."include" && $mingw_lib_include_path ne "" )
Vladimir Glazounov3673e4f2007-03-27 09:20:09 +00001498 {
Ivo Hinkelmann71285c32008-02-04 11:56:11 +00001499 $SOLARINC .= $I.PathFormat($mingw_lib_include_path);
Vladimir Glazounov3673e4f2007-03-27 09:20:09 +00001500 }
1501 }
Don Lewis437a5372018-01-05 20:47:25 +00001502 $SOLARINC .= $I.'$PSDK_HOME'.$INCLUDE;
Vladimir Glazounov3673e4f2007-03-27 09:20:09 +00001503 }
1504 if ( '@ENABLE_DIRECTX@' ne "" ) {
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001505 $SOLARINC .= $I.PathFormat('@DIRECTXSDK_HOME@').$INCLUDE;
Vladimir Glazounov3673e4f2007-03-27 09:20:09 +00001506 }
Sander Vesik2beb9252002-08-27 10:31:48 +00001507}
Vladimir Glazounov5b67f992005-03-07 16:28:47 +00001508elsif ($platform =~ m/darwin/)
Herbert Dürra7bc1f52013-11-18 16:26:19 +00001509{
Herbert Dürrc7225092014-01-23 17:10:13 +00001510 $FRAMEWORKSHOME = "@MACOSX_SDK_PATH@/System/Library/Frameworks";
Herbert Dürra6c044e2014-05-08 08:36:03 +00001511 chomp( my $TOOLSPATH = `xcode-select --print-path` );
Jürgen Schmidt2786d202014-10-21 07:25:11 +00001512 my $STLINC = "$TOOLSPATH/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/";
1513 if ( !(-e $STLINC) && !(-d $STLINC) ) {
1514 # Xcode 5
1515 $STLINC = "$TOOLSPATH/Toolchains/XcodeDefault.xctoolchain/usr/lib/c++/v1/";
1516 }
1517 $SOLARINC .= $I.$STLINC . $I.$FRAMEWORKSHOME.$ds."JavaVM.framework".$ds."Headers";
Herbert Dürra8cd6dd2014-01-23 16:58:26 +00001518 $GUIBASE = "aqua";
Sander Vesik2beb9252002-08-27 10:31:48 +00001519}
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +00001520else
Pedro Giffunife289612016-05-22 01:05:14 +00001521{ AddWarning( "set_soenv", "$platform not configured for system dependent include dir" );
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +00001522}
Vladimir Glazounov3bfaa3a2003-07-02 13:37:32 +00001523
Sander Vesik2beb9252002-08-27 10:31:48 +00001524#
1525print "done\n";
Ivo Hinkelmanna3a148c2011-02-14 18:48:22 +01001526
Andre Fischer79e24592012-02-08 14:19:46 +00001527$gb_REPOS = $SRC_ROOT;
1528for my $repo (split(/ /,"@ADDITIONAL_REPOSITORIES@"))
Ivo Hinkelmann6bb97c82011-02-03 16:29:56 +01001529{
Andre Fischer79e24592012-02-08 14:19:46 +00001530 my $abs_repo = `cd $SRC_ROOT/$repo;pwd`;
1531 chomp($abs_repo);
1532 $gb_REPOS .= " " . $abs_repo;
Ivo Hinkelmann6bb97c82011-02-03 16:29:56 +01001533}
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +00001534
Andre Fischer79e24592012-02-08 14:19:46 +00001535
Sander Vesik2beb9252002-08-27 10:31:48 +00001536#
1537# F. Setting the different aliases.
1538#
1539print "Setting the aliases... ";
1540# 1. alias for a full product make.
Ariel Constenla-Haile4fddf872012-10-06 01:43:58 +00001541 $mkout = '"$PERL $SOLARENV/bin/mkout.pl"';
1542 $deliver = '"$PERL $SOLARENV/bin/deliver.pl"';
1543 $build = '"$PERL $SOLARENV/bin/build.pl"';
1544 $build_client = '"$PERL $SOLARENV/bin/build_client.pl"';
1545 $zipdep = '"$PERL $SOLARENV/bin/zipdep.pl"';
Sander Vesik2beb9252002-08-27 10:31:48 +00001546# 3. alias for a full product make
Armin Theissend79016b2002-10-22 12:24:17 +00001547$nmake = '"dmake"';
Sander Vesik2beb9252002-08-27 10:31:48 +00001548print "done\n";
1549#
1550#--------------------------
1551# VI. Open the output file.
1552#--------------------------
1553#
Armin Theissend79016b2002-10-22 12:24:17 +00001554
Rüdiger Timmb947b022006-05-04 08:25:34 +00001555# Create sh environment file
1556open( OUT_SH, ">$outfile_sh" ) ||
1557 die "Cannot open $outfile_sh: $!\n";
Armin Theissend79016b2002-10-22 12:24:17 +00001558
Pedro Giffuni05628402011-11-09 20:10:55 +00001559if(defined($outfile_bat))
1560{ # Create bat environment file
1561 open( OUT_BAT, ">$outfile_bat" ) ||
1562 die "Cannot open $outfile_bat: $!\n";
1563}
1564
Damjan Jovanovic4bbb85b2017-08-09 17:43:42 +00001565open( OUT_PROPS, ">ant.properties" ) ||
1566 die "Cannot open ant.properties: $!\n";
1567
Sander Vesik2beb9252002-08-27 10:31:48 +00001568#
1569#------------------------------------------
1570# VII. Writing the data to the output file.
1571#------------------------------------------
1572#
1573# Write file header.
Rüdiger Timmb947b022006-05-04 08:25:34 +00001574CreateFileHeader( *OUT_SH, $UPD, $platform, "sh/bash/ksh", "#" );
Pedro Giffuni05628402011-11-09 20:10:55 +00001575CreateFileHeader( *OUT_BAT, $UPD, $platform, "4nt", "rem" ) if defined($outfile_bat);
Kurt Zenker2851c0e2006-01-06 10:17:44 +00001576
Sander Vesik2beb9252002-08-27 10:31:48 +00001577ToFile( "SRC_ROOT", $SRC_ROOT, "e" );
sb52fae282010-01-12 18:49:59 +01001578ToFile( "OOO_SHELL", $OOO_SHELL, "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001579ToFile( "JAVA_HOME", $JAVA_HOME, "e" );
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001580ToFile( "ANT_HOME", PathFormat("@ANT_HOME@"), "e" );
1581ToFile( "ANT_LIB", PathFormat("@ANT_LIB@"), "e" );
1582ToFile( "ANT", PathFormat("@ANT@"), "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001583ToFile( "JDKLIB", $JAVA_LIB, "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001584ToFile( "ASM_PATH", $ASM_PATH, "e" );
Don Lewiscd952b42016-08-19 18:28:06 +00001585ToFile( "NASM_PATH", $NASM_PATH, "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001586ToFile( "BUILD_SOSL", $BUILD_SOSL, "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001587ToFile( "FRAMEWORKSHOME", $FRAMEWORKSHOME, "e" );
1588ToFile( "Empty", $empty, "n" );
Kurt Zenker2851c0e2006-01-06 10:17:44 +00001589
1590#
1591# Writing the platform independent constant values to file.
1592# (c = comment, e = environment variable, a = alias )
Sander Vesik2beb9252002-08-27 10:31:48 +00001593ToFile( "Platform independent constant values.", $empty, "c" );
Vladimir Glazounov9e4411b2003-06-12 09:16:12 +00001594# dictionaries
1595if ('@WITH_DICT@' =~ m/ALL,/s)
1596{
1597 foreach $dict (@DICTIONARIES)
1598 {
1599 ToFile( "DIC_$dict", "TRUE", "e" );
1600 }
Jens-Heiner Rechtien75b501e2005-09-26 12:24:57 +00001601 ToFile( "DIC_ALL", "TRUE", "e" );
Vladimir Glazounov9e4411b2003-06-12 09:16:12 +00001602}
1603else
1604{
1605 foreach $dict (@DICTIONARIES)
1606 { if ('@WITH_DICT@' =~ m/$dict,/s)
1607 { my $val="TRUE";
1608 ToFile( "DIC_$dict", $val, "e" );
1609 }
1610 else
1611 { my $val;
1612 undef $val;
1613 ToFile( "DIC_$dict", $val, "e" );
1614 }
1615 }
1616}
Sander Vesik2beb9252002-08-27 10:31:48 +00001617# Languages
Pascal Junck6f343832004-10-27 14:23:18 +00001618ToFile( "WITH_LANG", "@WITH_LANG@", "e" );
Oliver Bolte40d4a1e2007-06-11 13:00:39 +00001619ToFile( "INTRO_BITMAPS", "@INTRO_BITMAPS@", "e" );
1620ToFile( "ABOUT_BITMAPS", "@ABOUT_BITMAPS@", "e" );
1621ToFile( "OOO_VENDOR", "@OOO_VENDOR@", "e" );
Kurt Zenker393a7fa2008-03-06 14:16:57 +00001622ToFile( "OOODMAKEMODE", "YES", "e" );
Vladimir Glazounov2011b8d2006-11-01 12:49:54 +00001623ToFile( "WITH_POOR_HELP_LOCALIZATIONS", "@WITH_POOR_HELP_LOCALIZATIONS@", "e" );
Pascal Junck6f343832004-10-27 14:23:18 +00001624
Sander Vesik2beb9252002-08-27 10:31:48 +00001625ToFile( "CALL_CDECL", $CALL_CDECL, "e" );
1626ToFile( "COMMON_OUTDIR", $COMMON_OUTDIR, "e" );
1627ToFile( "common_build", $common_build, "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001628ToFile( "BMP_WRITES_FLAG", $BMP_WRITES_FLAG, "e" );
1629ToFile( "BUILD_SOSL_RELEASE", $BUILD_SOSL_RELEASE, "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001630ToFile( "NO_REC_RES", $NO_REC_RES, "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001631ToFile( "SO3", $SO3, "e" );
1632ToFile( "SOLAR_PLUGIN", $SOLAR_PLUGIN, "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001633ToFile( "UPDATER", $UPDATER, "e" );
1634ToFile( "build_deliver", $BUILD_DELIVER, "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001635ToFile( "VCL", $VCL, "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001636ToFile( "ENABLEUNICODE", $ENABLEUNICODE, "e" );
1637ToFile( "NEW_JAR_PACK", $NEW_JAR_PACK, "e" );
1638ToFile( "NO_BSYMBOLIC", $NO_BSYMBOLIC, "e" );
1639ToFile( "TF_FILTER", "TRUE", "e" );
Oliver Boltef9289902005-01-05 09:42:09 +00001640if ("@ENABLE_DEBUG@" eq "TRUE") {
Sander Vesik2beb9252002-08-27 10:31:48 +00001641ToFile( "debug", "true", "e" );
Don Lewis90ffe9b2017-12-13 00:17:48 +00001642} else {
1643ToFile( "debug", "", "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001644}
Ivo Hinkelmannfb6c5ad2006-08-28 11:35:32 +00001645if ("@ENABLE_WERROR@" eq "FALSE") {
1646ToFile( "EXTERNAL_WARNINGS_NOT_ERRORS", "TRUE", "e" );
Don Lewis90ffe9b2017-12-13 00:17:48 +00001647} else {
1648ToFile( "EXTERNAL_WARNINGS_NOT_ERRORS", "", "e" );
Ivo Hinkelmannfb6c5ad2006-08-28 11:35:32 +00001649}
Rüdiger Timmf57e22b2004-09-08 14:24:19 +00001650ToFile( "PRODUCT", "@PRODUCT@", "e" );
1651ToFile( "PROFULLSWITCH", "@PROFULLSWITCH@", "e" );
1652ToFile( "PROEXT", $PROEXT, "e" );
Matthias Huetsch [mhu]cc25d9d2011-03-01 15:43:07 +01001653ToFile( "VALGRIND_CFLAGS", "@VALGRIND_CFLAGS@", "e" );
Jens-Heiner Rechtien37febdf2007-06-27 12:59:25 +00001654ToFile( "UNIXWRAPPERNAME", "@UNIXWRAPPERNAME@","e" );
Release Engineers86792bd2009-08-26 08:22:01 +00001655ToFile( "ENABLE_NSS_MODULE", "@ENABLE_NSS_MODULE@", "e" );
1656ToFile( "MOZILLABUILD", "@MOZILLABUILD@", "e" );
Vladimir Glazounovff154132005-03-11 10:31:40 +00001657ToFile( "BUILD_VER_STRING", "@BUILD_VER_STRING@", "e" );
Kurt Zenkerbe376e52008-04-03 15:49:47 +00001658if ($platform =~ m/linux/ && $platform =~ m/powerpc/) {
Kurt Zenker8c209a72005-07-14 12:45:49 +00001659ToFile( "JITC_PROCESSOR_TYPE","6", "e" );
1660}
Rüdiger Timm82f3d3a2005-05-18 11:49:00 +00001661ToFile( "DEFAULT_TO_ENGLISH_FOR_PACKING", "yes", "e" );
Pascal Junckcfddafd2004-10-27 15:17:53 +00001662ToFile( "ENABLE_GTK", "@ENABLE_GTK@", "e" );
1663ToFile( "GTK_CFLAGS", "@GTK_CFLAGS@", "e" );
1664ToFile( "GTK_LIBS", "@GTK_LIBS@", "e" );
Ivo Hinkelmann5e590152011-03-31 16:29:46 +02001665ToFile( "GTHREAD_CFLAGS", "@GTHREAD_CFLAGS@", "e" );
1666ToFile( "GTHREAD_LIBS", "@GTHREAD_LIBS@", "e" );
Kurt Zenker12c11532006-11-07 14:29:19 +00001667ToFile( "ENABLE_SYSTRAY_GTK", "@ENABLE_SYSTRAY_GTK@", "e" );
Pascal Junckcfddafd2004-10-27 15:17:53 +00001668ToFile( "ENABLE_STATIC_GTK", "@ENABLE_STATIC_GTK@", "e" );
ka326d7e02010-06-09 07:07:59 +02001669ToFile( "ENABLE_GSTREAMER", "@ENABLE_GSTREAMER@", "e" );
Kurt Zenker6e93bed2006-02-28 09:41:43 +00001670ToFile( "ENABLE_CAIRO", "@ENABLE_CAIRO@", "e" );
Michael Stahl352043c2011-09-17 21:33:08 +00001671ToFile( "ENABLE_CAIRO_CANVAS", "@ENABLE_CAIRO_CANVAS@", "e" );
Kurt Zenkerad45ea42007-12-12 12:25:13 +00001672ToFile( "ENABLE_OPENGL", "@ENABLE_OPENGL@", "e" );
Kurt Zenker13cbab32008-04-08 14:18:15 +00001673ToFile( "ENABLE_PDFIMPORT", "@ENABLE_PDFIMPORT@", "e" );
Vladimir Glazounov815f1572009-01-21 17:47:03 +00001674ToFile( "ENABLE_REPORTBUILDER","@ENABLE_REPORTBUILDER@","e" );
Oliver-Rainer Wittmanne6437d82011-11-09 12:51:56 +00001675ToFile( "SYSTEM_JFREEREPORT","@SYSTEM_JFREEREPORT@","e" );
sb584c2652010-02-15 18:28:00 +01001676ToFile( "OOO_JUNIT_JAR", "@OOO_JUNIT_JAR@", "e" );
Damjan Jovanovic70af00b2017-01-18 20:58:11 +00001677ToFile( "HAMCREST_CORE_JAR", "@HAMCREST_CORE_JAR@","e" );
Kurt Zenkerad45ea42007-12-12 12:25:13 +00001678ToFile( "SAC_JAR", "@SAC_JAR@", "e" );
1679ToFile( "LIBXML_JAR", "@LIBXML_JAR@", "e" );
1680ToFile( "FLUTE_JAR", "@FLUTE_JAR@", "e" );
1681ToFile( "JFREEREPORT_JAR", "@JFREEREPORT_JAR@", "e" );
1682ToFile( "LIBLAYOUT_JAR", "@LIBLAYOUT_JAR@", "e" );
1683ToFile( "LIBLOADER_JAR", "@LIBLOADER_JAR@", "e" );
1684ToFile( "LIBFORMULA_JAR", "@LIBFORMULA_JAR@", "e" );
1685ToFile( "LIBREPOSITORY_JAR", "@LIBREPOSITORY_JAR@","e" );
Oliver Bolte59ac3492009-03-04 15:27:10 +00001686ToFile( "LIBBASE_JAR", "@LIBBASE_JAR@", "e" );
Kurt Zenkerad45ea42007-12-12 12:25:13 +00001687ToFile( "LIBFONTS_JAR", "@LIBFONTS_JAR@", "e" );
Oliver Bolte59ac3492009-03-04 15:27:10 +00001688ToFile( "LIBSERIALIZER_JAR", "@LIBSERIALIZER_JAR@","e" );
Kurt Zenkerac7d33d2008-04-03 17:02:42 +00001689ToFile( "ENABLE_MEDIAWIKI", "@ENABLE_MEDIAWIKI@", "e" );
1690ToFile( "SYSTEM_APACHE_COMMONS","@SYSTEM_APACHE_COMMONS@","e" );
1691ToFile( "COMMONS_CODEC_JAR", "@COMMONS_CODEC_JAR@","e" );
1692ToFile( "COMMONS_LANG_JAR", "@COMMONS_LANG_JAR@", "e" );
1693ToFile( "COMMONS_HTTPCLIENT_JAR","@COMMONS_HTTPCLIENT_JAR@","e" );
1694ToFile( "COMMONS_LOGGING_JAR","@COMMONS_LOGGING_JAR@","e" );
1695ToFile( "SYSTEM_SERVLETAPI", "@SYSTEM_SERVLETAPI@", "e" );
1696ToFile( "SERVLETAPI_JAR", "@SERVLETAPI_JAR@", "e" );
Jens-Heiner Rechtienf577b1f2007-08-02 13:59:11 +00001697ToFile( "ENABLE_DBUS", "@ENABLE_DBUS@", "e" );
Rüdiger Timm18375fb2008-08-27 12:56:09 +00001698ToFile( "ENABLE_GCONF", "@ENABLE_GCONF@", "e" );
Jens-Heiner Rechtien215d3692005-02-11 16:59:05 +00001699ToFile( "ENABLE_GNOMEVFS", "@ENABLE_GNOMEVFS@", "e" );
Damjan Jovanovic51e66342017-01-03 18:01:55 +00001700ToFile( "GNOMEVFS_CFLAGS", "@GNOMEVFS_CFLAGS@", "e" );
1701ToFile( "GNOMEVFS_LIBS", "@GNOMEVFS_LIBS@", "e" );
Vladimir Glazounov3cac4ad2008-05-14 13:56:22 +00001702ToFile( "ENABLE_GIO", "@ENABLE_GIO@", "e" );
Damjan Jovanovic51e66342017-01-03 18:01:55 +00001703ToFile( "GIO_CFLAGS", "@GIO_CFLAGS@", "e" );
1704ToFile( "GIO_LIBS", "@GIO_LIBS@", "e" );
Pascal Junckcfddafd2004-10-27 15:17:53 +00001705ToFile( "ENABLE_KDE", "@ENABLE_KDE@", "e" );
1706ToFile( "KDE_CFLAGS", "@KDE_CFLAGS@", "e" );
1707ToFile( "KDE_LIBS", "@KDE_LIBS@", "e" );
Jens-Heiner Rechtiene0879c02005-04-11 07:52:38 +00001708ToFile( "MOC", "@MOC@", "e" );
Release Engineers5bf54b52009-08-07 10:16:34 +00001709ToFile( "ENABLE_KDE4", "@ENABLE_KDE4@", "e" );
1710ToFile( "KDE4_CFLAGS", "@KDE4_CFLAGS@", "e" );
1711ToFile( "KDE4_LIBS", "@KDE4_LIBS@", "e" );
1712ToFile( "MOC4", "@MOC4@", "e" );
Armin Theissend79016b2002-10-22 12:24:17 +00001713ToFile( "PSPRINT", "TRUE", "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001714ToFile( "MKDEPENDSOLVER", "TRUE", "e" );
Caolán McNamaraac739db2010-05-22 16:23:01 +01001715ToFile( "nodep", "@nodep@", "e" );
Hans-Joachim Lankenaua9669262010-01-15 14:55:12 +01001716ToFile( "TARFILE_LOCATION", $TARFILE_LOCATION, "e" );
1717ToFile( "DO_FETCH_TARBALLS", "@DO_FETCH_TARBALLS@", "e" );
Ariel Constenla-Hailec92f39f62012-02-05 12:52:50 +00001718ToFile( "CUSTOM_PACK_LIST", "@CUSTOM_PACK_LIST@", "e" );
1719ToFile( "USE_PACKAGER", "@USE_PACKAGER@", "e" );
Ariel Constenla-Haile683ab3a2012-02-24 04:01:22 +00001720ToFile( "ENABLE_ONLINE_UPDATE", "@ENABLE_ONLINE_UPDATE@", "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001721#
1722# Writing the platform dependent constant values to file.
1723# (c = comment, e = environment variable, a = alias )
1724ToFile( "Platform dependent constant values.", $empty, "c" );
1725ToFile( "SOLAR_JAVA", $SOLAR_JAVA, "e" );
1726ToFile( "BIG_SVX", $BIG_SVX, "e" );
Don Lewisad3dba52018-03-09 04:22:18 +00001727ToFile( "COM", "@COM@", "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001728ToFile( "COMPATH", $COMPATH, "e" );
Herbert Dürra8cd6dd2014-01-23 16:58:26 +00001729ToFile( "CC_PATH", "@CC_PATH@", "e" );
Don Lewisad3dba52018-03-09 04:22:18 +00001730ToFile( "COMNAME", "@COMNAME@", "e" );
1731ToFile( "COMID", "@COMID@", "e" );
1732ToFile( "CCNUMVER", "@CCNUMVER@", "e" );
1733ToFile( "CCVER", "@CCVER@", "e" );
1734
Jürgen Schmidt5ee08bd2013-02-19 13:28:56 +00001735ToFile( "CXX_X64_BINARY", $CXX_X64_BINARY, "e" );
1736ToFile( "LINK_X64_BINARY", $LINK_X64_BINARY, "e" );
1737ToFile( "LIBMGR_X64_BINARY", $LIBMGR_X64_BINARY, "e" );
Don Lewisa3e11232018-04-28 02:47:11 +00001738ToFile( "ALIGN", $ALIGN, "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001739ToFile( "CPU", $CPU, "e" );
1740ToFile( "CPUNAME", $CPUNAME, "e" );
1741ToFile( "CVER", $CVER, "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001742ToFile( "GUI", $GUI, "e" );
1743ToFile( "GLIBC", $GLIBC, "e" );
1744ToFile( "GUIBASE", $GUIBASE, "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001745ToFile( "GVER", $GVER, "e" );
1746ToFile( "OS", $OS, "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001747ToFile( "OSVERSION", $OSVERSION, "e" );
Hans-Joachim Lankenau74a4c962003-08-18 13:54:11 +00001748ToFile( "PTHREAD_CFLAGS", "@PTHREAD_CFLAGS@", "e" );
1749ToFile( "PTHREAD_LIBS", "@PTHREAD_LIBS@", "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001750ToFile( "OUTPATH", $OUTPATH, "e" );
1751ToFile( "INPATH", $INPATH, "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001752ToFile( "PATH_SEPERATOR", $PATH_SEPERATOR, "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001753ToFile( "COMEX", $COMEX, "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001754ToFile( "CDPATHx", $CDPATHx, "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001755ToFile( "DYNAMIC_CRT", $DYNAMIC_CRT, "e" );
1756ToFile( "SET_EXCEPTIONS", $SET_EXCEPTIONS, "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001757ToFile( "use_shl_versions", $use_shl_versions, "e" );
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001758ToFile( "FLIPCMD", $FLIPCMD, "e" );
Pedro Giffuni98b22892011-10-27 17:54:01 +00001759ToFile( "ARM_TARGET", "@ARM_TARGET@", "e" );
Hans-Joachim Lankenaud384a2a2011-01-06 12:31:18 +01001760if ( $platform =~ m/darwin/ )
1761{
1762# MAXOSX_DEPLOYMENT_TARGET : The minimum version required to run the build,
1763# build can assume functions/libraries of that version to be available
Hans-Joachim Lankenaud384a2a2011-01-06 12:31:18 +01001764# (safer/easier than dealing with the MAC_OS_X_VERSION_MAX_ALLOWED macro)
1765# http://developer.apple.com/technotes/tn2002/tn2064.html
Herbert Dürrc7225092014-01-23 17:10:13 +00001766 ToFile( "MACOSX_DEPLOYMENT_TARGET", "@MACOSX_DEPLOYMENT_TARGET@", "e" );
1767 ToFile( "MACOSX_SDK_PATH", "@MACOSX_SDK_PATH@", "e" );
Jim Jagielskia38be852018-07-03 22:04:26 +00001768 ToFile( "SDKROOT", "@SDKROOT@", "e" );
Hans-Joachim Lankenaud384a2a2011-01-06 12:31:18 +01001769}
Pedro Giffuniedd086f2015-08-05 01:14:28 +00001770if ( $platform =~ m/freebsd/ )
1771{
1772 ToFile( "FBSD_GCC_RPATH", "@FBSD_GCC_RPATH@", "e" );
1773 ToFile( "LIBINTL_PREFIX", "@LIBINTL_PREFIX@", "e" );
1774}
Hans-Joachim Lankenaud384a2a2011-01-06 12:31:18 +01001775
Sander Vesik2beb9252002-08-27 10:31:48 +00001776#
1777# Writing the variables to file.
1778# (c = comment, e = environment variable, a = alias, n = newline )
1779ToFile( "Variable values.", $empty, "c" );
Vladimir Glazounov5b67f992005-03-07 16:28:47 +00001780if ( $platform =~ m/cygwin/ )
Rüdiger Timm027b5882004-06-16 09:48:31 +00001781{ ToFile( "CYGWIN_PATH", $CYGWIN_PATH, "e" );
Armin Theissend79016b2002-10-22 12:24:17 +00001782 ToFile( "PSDK_HOME", $PSDK_HOME, "e" );
Kurt Zenkerc016e892008-04-04 09:56:32 +00001783 ToFile( "WINDOWS_VISTA_PSDK","@WINDOWS_VISTA_PSDK@","e" );
Vladimir Glazounov3673e4f2007-03-27 09:20:09 +00001784 ToFile( "DIRECTXSDK_LIB", $DIRECTXSDK_LIB, "e" );
Oliver Bolte69d4b0f2007-11-12 07:36:01 +00001785 ToFile( "USE_DIRECTX5", $USE_DIRECTX5, "e" );
Ariel Constenla-Haile4f8bd302012-09-21 16:29:25 +00001786 ToFile( "ATL_LIB", "@ATL_LIB@", "e" );
Jürgen Schmidt5ee08bd2013-02-19 13:28:56 +00001787 ToFile( "ATL_LIB_X64", "@ATL_LIB_X64@", "e" );
Ariel Constenla-Haile4f8bd302012-09-21 16:29:25 +00001788 ToFile( "ATL_INCLUDE", "@ATL_INCLUDE@", "e" );
1789 ToFile( "HAVE_ATLTHUNK", "@HAVE_ATLTHUNK@", "e" );
1790 ToFile( "MFC_LIB", "@MFC_LIB@", "e" );
1791 ToFile( "MFC_INCLUDE", "@MFC_INCLUDE@", "e" );
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001792 ToFile( "NSIS_PATH", $NSIS_PATH, "e" );
Jens-Heiner Rechtienbe4beae2006-10-24 14:34:49 +00001793 ToFile( "DISABLE_ACTIVEX", "@DISABLE_ACTIVEX@","e" );
Ariel Constenla-Haile4f8bd302012-09-21 16:29:25 +00001794 ToFile( "DISABLE_ATL", "@DISABLE_ATL@", "e" );
Jens-Heiner Rechtiene0ac98f2003-03-19 15:03:25 +00001795 ToFile( "USE_NEW_SDK", $USE_NEW_SDK, "e" );
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001796
Kurt Zenkerb37d0352008-03-05 15:37:05 +00001797 # Hack around dmake's mktmp not generating DOS paths.
Jürgen Schmidt5ee08bd2013-02-19 13:28:56 +00001798# my $tmpdir = qx{cygpath -m "/tmp"};
1799# chomp($tmpdir);
1800# ToFile( "TMPDIR", $tmpdir, "e" );
1801 ToFile( "TMPDIR", "/tmp", "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001802}
Ariel Constenla-Haile3b177a52011-11-22 12:55:17 +00001803ToFile( "ENABLE_HUNSPELL", "@ENABLE_HUNSPELL@", "e" );
1804ToFile( "ENABLE_HYPHEN", "@ENABLE_HYPHEN@", "e" );
Eike Rathkecc756d22011-08-28 14:46:31 +00001805
Sander Vesik2beb9252002-08-27 10:31:48 +00001806ToFile( "PERL", $PERL, "e" );
Oliver Bolte0da37bf2005-01-25 11:43:16 +00001807ToFile( "RPM", "@RPM@", "e" );
Rüdiger Timme65294e2005-08-30 08:12:51 +00001808ToFile( "DPKG", "@DPKG@", "e" );
Jim Jagielski741beae2019-01-16 13:50:09 +00001809ToFile( "FAKEROOT", "@FAKEROOT@", "e" );
Rüdiger Timme65294e2005-08-30 08:12:51 +00001810ToFile( "PKGMK", "@PKGMK@", "e" );
Armin Theissend79016b2002-10-22 12:24:17 +00001811ToFile( "GNUMAKE", "@GNUMAKE@", "e" );
Ivo Hinkelmann8034f572009-04-23 15:52:08 +00001812ToFile( "GNUTAR", "@GNUTAR@", "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001813ToFile( "UPD", $UPD, "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001814ToFile( "WORK_STAMP", $WORK_STAMP, "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001815ToFile( "SOLARVER", $SOLARVER, "e" );
1816ToFile( "SOLARVERSION", $SOLARVERSION, "e" );
Hans-Joachim Lankenaue5918522010-11-18 17:11:41 +01001817ToFile( "WORKDIR", $WORKDIR, "e" );
1818ToFile( "OUTDIR", $OUTDIR, "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001819ToFile( "SOLARENV", $SOLARENV, "e" );
1820ToFile( "SOLARENVINC", $SOLARENVINC, "e" );
1821ToFile( "LOCALINI", $LOCALINI, "e" );
1822ToFile( "STAR_INIROOT", $STAR_INIROOT, "e" );
1823ToFile( "STAR_INIROOTOLD", $STAR_INIROOTOLD, "e" );
1824ToFile( "STAR_STANDLST", $STAR_STANDLST, "e" );
1825ToFile( "STAR_SSCOMMON", $STAR_SSCOMMON, "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001826ToFile( "STAR_SSOLARINI", $STAR_SSOLARINI, "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001827ToFile( "DMAKEROOT", $DMAKEROOT, "e" );
Oliver Bolte3f7a6152005-01-25 15:55:07 +00001828if ( $JDK ne "gcj" ) {
1829 ToFile( "CLASSPATH", $CLASSPATH, "e" );
1830 ToFile( "XCLASSPATH", $XCLASSPATH, "e" );
1831}
Jens-Heiner Rechtienf5b7ee72005-04-06 09:53:34 +00001832else {
Kurt Zenker354d0892006-07-05 20:12:45 +00001833 ToFile( "JAVACISGCJ", '@JAVACISGCJ@', "e" );
Rüdiger Timm88f73482007-10-04 07:12:49 +00001834}
1835if ( $GUI eq "UNX" ) {
Oliver Bolte2a4dca22005-06-16 13:38:18 +00001836 ToFile( "AWTLIB", '@AWTLIB@', "e" );
Jens-Heiner Rechtienf5b7ee72005-04-06 09:53:34 +00001837}
Damjan Jovanovic121f93c2018-11-25 23:45:12 +00001838else {
1839 if ( $GUI eq "WNT" ) {
1840 if ( "@COM@" eq "GCC" ) {
1841 ToFile( "AWTLIB", '@JAVA_HOME@/lib/jawt.lib', "e" );
1842 } else {
1843 ToFile( "AWTLIB", 'jawt.lib', "e" );
1844 }
1845 }
1846}
Rüdiger Timmad748852006-01-13 15:37:16 +00001847if ( '@JDK@' ne '' )
1848{
1849 ToFile( "JDK", "@JDK@", "e" );
Vladimir Glazounovfb78b232008-08-19 11:03:39 +00001850 ToFile( "JAVAFLAGS", "@JAVAFLAGS@", "e" );
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001851 ToFile( "JAVAINTERPRETER", PathFormat("@JAVAINTERPRETER@"), "e" );
sbeffed402010-02-25 09:10:21 +01001852 ToFile( "JAVAIFLAGS", "@JAVAIFLAGS@", "e" );
Kurt Zenker8ecc7052007-12-12 14:37:11 +00001853 ToFile( "JAVACOMPILER", PathFormat("@JAVACOMPILER@"), "e" );
1854 ToFile( "JAVAAOTCOMPILER", PathFormat("@JAVAAOTCOMPILER@"), "e" );
1855 ToFile( "JAVADOC", PathFormat("@JAVADOC@"), "e" );
Rüdiger Timmad748852006-01-13 15:37:16 +00001856}
Vladimir Glazounov19b77d82003-12-17 14:01:33 +00001857ToFile( "SCPDEFS", '@SCPDEFS@', "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001858ToFile( "SOLAREXTRAINC", $SOLAREXTRAINC, "e" );
1859ToFile( "SOLAREXTRALIB", $SOLAREXTRALIB, "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001860ToFile( "PATH", $PATH, "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001861ToFile( "SOLARLIB", $SOLARLIB, "e" );
1862ToFile( "SOLARINC", $SOLARINC, "e" );
1863ToFile( "COMP_ENV", $COMP_ENV, "e" );
1864ToFile( "JAVAHOME", $JAVAHOME, "e" );
1865ToFile( "CC", $CC, "e" );
Oliver Bolte0da37bf2005-01-25 11:43:16 +00001866ToFile( "HAVE_GCC_VISIBILITY_FEATURE",
1867 "@HAVE_GCC_VISIBILITY_FEATURE@", "e" );
Jens-Heiner Rechtien245c6762007-07-31 12:09:45 +00001868ToFile( "HAVE_LD_HASH_STYLE","@HAVE_LD_HASH_STYLE@","e" );
Ivo Hinkelmanna6ef6ed2009-04-27 11:24:10 +00001869ToFile( "HAVE_LD_BSYMBOLIC_FUNCTIONS",
1870 "@HAVE_LD_BSYMBOLIC_FUNCTIONS@","e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00001871ToFile( "CXX", $CXX, "e" );
Jens-Heiner Rechtiene35f41e2009-09-16 14:49:32 +00001872ToFile( "USE_CCACHE", "@USE_CCACHE@", "e" );
Ivo Hinkelmann7492b7f2006-08-03 14:10:40 +00001873ToFile( "MINGWCXX", "@MINGWCXX@", "e" );
1874ToFile( "MINGWSTRIP", "@MINGWSTRIP@", "e" );
Rüdiger Timmf57e22b2004-09-08 14:24:19 +00001875ToFile( "USE_SYSTEM_STL", "@USE_SYSTEM_STL@", "e" );
Kurt Zenker34b48062006-01-31 17:28:58 +00001876ToFile( "ALLOC", "@ALLOC@", "e" );
Rüdiger Timm027b5882004-06-16 09:48:31 +00001877ToFile( "ENABLE_SYMBOLS", "@ENABLE_SYMBOLS@", "e" );
Jens-Heiner Rechtienbe4beae2006-10-24 14:34:49 +00001878ToFile( "DISABLE_STRIP", "@DISABLE_STRIP@", "e" );
Vladimir Glazounov0665c252007-01-16 15:09:14 +00001879ToFile( "LFS_CFLAGS", "@LFS_CFLAGS@", "e" );
Rüdiger Timm027b5882004-06-16 09:48:31 +00001880ToFile( "ENABLE_CRASHDUMP", "@ENABLE_CRASHDUMP@", "e" );
1881ToFile( "ENABLE_CUPS", "@ENABLE_CUPS@", "e" );
Kurt Zenkerc7d7c902008-04-03 16:15:28 +00001882ToFile( "ENABLE_RANDR", "@ENABLE_RANDR@", "e" );
Rüdiger Timm027b5882004-06-16 09:48:31 +00001883ToFile( "ENABLE_FONTCONFIG", "@ENABLE_FONTCONFIG@", "e" );
Rüdiger Timm95271652004-09-08 11:26:43 +00001884ToFile( "ENABLE_DIRECTX", "@ENABLE_DIRECTX@", "e" );
Jürgen Schmidt5ab33b42011-11-03 16:09:19 +00001885ToFile( "ENABLE_DIRECT_DRAW","@ENABLE_DIRECT_DRAW@","e" );
Kurt Zenkerfdd06ee2008-03-06 11:21:05 +00001886ToFile( "ENABLE_LAYOUT", "@ENABLE_LAYOUT@", "e" );
Rüdiger Timmf660b4c2006-10-30 08:18:48 +00001887ToFile( "ENABLE_PCH", "@ENABLE_PCH@", "e" );
Ivo Hinkelmann8f3d0362009-08-17 14:12:14 +00001888ToFile( "ENABLE_GRAPHITE", "@ENABLE_GRAPHITE@", "e");
1889ToFile( "SYSTEM_GRAPHITE", "@SYSTEM_GRAPHITE@", "e");
1890ToFile( "GRAPHITE_LIBS", "@GRAPHITE_LIBS@", "e");
1891ToFile( "GRAPHITE_CFLAGS", "@GRAPHITE_CFLAGS@", "e");
Rüdiger Timmce7a8ad2003-12-01 16:39:16 +00001892ToFile( "VC_STANDARD", "@VC_STANDARD@", "e" );
Jürgen Schmidt5ee08bd2013-02-19 13:28:56 +00001893ToFile( "BUILD_X64", "@BUILD_X64@", "e" );
Herbert Dürr844be9b2012-04-02 15:21:19 +00001894ToFile( "ENABLE_CATEGORY_B", "@ENABLE_CATEGORY_B@", "e");
Herbert Dürr468711c2012-03-02 13:26:34 +00001895ToFile( "BUNDLED_EXTENSION_BLOBS", "@BUNDLED_EXTENSION_BLOBS@", "e");
1896ToFile( "BUNDLED_PREREG_EXTENSIONS", "@BUNDLED_PREREG_EXTENSIONS@", "e");
Andre Fischerb1913d62012-03-28 14:54:49 +00001897ToFile( "ENABLE_BUNDLED_DICTIONARIES", "@ENABLE_BUNDLED_DICTIONARIES@", "e");
Rüdiger Timm53e3a102008-06-13 13:11:11 +00001898ToFile( "SYSTEM_DICTS", "@SYSTEM_DICTS@", "e");
1899ToFile( "DICT_SYSTEM_DIR", "@DICT_SYSTEM_DIR@", "e");
1900ToFile( "HYPH_SYSTEM_DIR", "@HYPH_SYSTEM_DIR@", "e");
1901ToFile( "THES_SYSTEM_DIR", "@THES_SYSTEM_DIR@", "e");
Oliver Bolteaf898882006-03-22 08:25:39 +00001902ToFile( "ENABLE_LOCKDOWN", "@ENABLE_LOCKDOWN@", "e" );
Jens-Heiner Rechtien9f06c822006-04-20 12:34:17 +00001903ToFile( "WITH_LDAP", "@WITH_LDAP@", "e" );
Oliver Boltea4478862004-11-15 13:11:32 +00001904ToFile( "WITH_OPENLDAP", "@WITH_OPENLDAP@", "e" );
Rüdiger Timma523c002005-03-30 10:38:22 +00001905ToFile( "MOZ_INC", "@MOZ_INC@", "e" );
Andre Fischer39310f62012-04-03 15:25:32 +00001906ToFile( "WITH_CATA_FONTS", "@WITH_CATA_FONTS@", "e" );
1907ToFile( "WITH_CATB_FONTS", "@WITH_CATB_FONTS@", "e" );
Vladimir Glazounov19b77d82003-12-17 14:01:33 +00001908ToFile( "WITH_FONTS", "@WITH_FONTS@", "e" );
Rüdiger Timm103c7b02006-02-10 10:18:06 +00001909ToFile( "WITHOUT_AFMS", "@WITHOUT_AFMS@", "e" );
1910ToFile( "WITHOUT_PPDS", "@WITHOUT_PPDS@", "e" );
Andre Fischer79e24592012-02-08 14:19:46 +00001911ToFile( "BUILD_TYPE", "@BUILD_TYPE@", "e" );
Andre Fischer0b23dad2012-01-16 13:18:33 +00001912ToFile( "ADDITIONAL_REPOSITORIES", "@ADDITIONAL_REPOSITORIES@", "e" );
Rüdiger Timmd0c1b462008-06-06 11:05:45 +00001913ToFile( "VERBOSE", "@VERBOSE@", "e" );
Jens-Heiner Rechtien67946a82005-06-09 13:14:52 +00001914ToFile( "ENABLE_EVOAB2", "@ENABLE_EVOAB2@", "e" );
1915ToFile( "GOBJECT_CFLAGS", "@GOBJECT_CFLAGS@", "e" );
1916ToFile( "GOBJECT_LIBS", "@GOBJECT_LIBS@", "e" );
Vladimir Glazounov19b77d82003-12-17 14:01:33 +00001917if ( '@ENABLE_RPATH@' eq "no" ) {
1918 ToFile( "LINKFLAGSRUNPATH",'', "e" );
1919}
Oliver Bolte0da37bf2005-01-25 11:43:16 +00001920ToFile( "EPM", "@EPM@", "e" );
Jürgen Schmidtdbb3b372011-11-25 09:09:01 +00001921ToFile( "EPM_URL", "@EPM_URL@", "e" );
Jens-Heiner Rechtiena5bade02007-11-02 14:23:26 +00001922ToFile( "EPM_FLAGS", $EPM_FLAGS, "e" );
Vladimir Glazounovefacf572005-03-08 15:35:34 +00001923ToFile( "BUILD_EPM", "@BUILD_EPM@", "e" );
Oliver Bolteb0dd8fc2005-03-15 08:46:44 +00001924ToFile( "PKGFORMAT", "@PKGFORMAT@", "e" );
Vladimir Glazounov7927b3c2005-02-21 14:16:50 +00001925ToFile( "SYSTEM_STDLIBS", "@SYSTEM_STDLIBS@", "e" );
Vladimir Glazounov19b77d82003-12-17 14:01:33 +00001926ToFile( "SYSTEM_ZLIB", "@SYSTEM_ZLIB@", "e" );
Herbert Dürrc73bec02013-11-06 08:10:25 +00001927ToFile( "SYSTEM_NSS", "@SYSTEM_NSS@", "e" );
Pedro Giffuni970b89f2015-07-08 14:27:07 +00001928ToFile( "NSS_CFLAGS", "@NSS_CFLAGS@", "e" );
1929ToFile( "NSS_LIBS", "@NSS_LIBS@", "e" );
Ivo Hinkelmannf64c0192007-11-26 11:47:08 +00001930ToFile( "SYSTEM_OPENSSL", "@SYSTEM_OPENSSL@", "e" );
1931ToFile( "OPENSSL_CFLAGS", "@OPENSSL_CFLAGS@", "e" );
1932ToFile( "OPENSSL_LIBS", "@OPENSSL_LIBS@", "e" );
Rüdiger Timmf57e22b2004-09-08 14:24:19 +00001933ToFile( "SYSTEM_PYTHON", "@SYSTEM_PYTHON@", "e" );
1934ToFile( "PYTHON_CFLAGS", "@PYTHON_CFLAGS@", "e" );
1935ToFile( "PYTHON_LIBS", "@PYTHON_LIBS@", "e" );
Jens-Heiner Rechtienaf719592007-01-03 10:33:57 +00001936if ($SYSTEM_PYTHON eq "NO") {
1937ToFile( "HOME", "@HOME@", "e" );
1938}
Kurt Zenker2acec692006-12-12 15:05:54 +00001939ToFile( "SYSTEM_ICU", "@SYSTEM_ICU@", "e" );
Eike Rathkea11f2342011-01-27 23:56:24 +01001940ToFile( "ICU_MAJOR", "@ICU_MAJOR@", "e" );
1941ToFile( "ICU_MINOR", "@ICU_MINOR@", "e" );
1942ToFile( "ICU_MICRO", "@ICU_MICRO@", "e" );
Kurt Zenker2acec692006-12-12 15:05:54 +00001943ToFile( "SYSTEM_GENBRK", "@SYSTEM_GENBRK@", "e" );
1944ToFile( "SYSTEM_GENCCODE", "@SYSTEM_GENCCODE@", "e" );
Vladimir Glazounov775bece2007-01-10 10:27:32 +00001945ToFile( "SYSTEM_GENCMN", "@SYSTEM_GENCMN@", "e" );
Rüdiger Timmf57e22b2004-09-08 14:24:19 +00001946ToFile( "SYSTEM_JPEG", "@SYSTEM_JPEG@", "e" );
Rüdiger Timmf57e22b2004-09-08 14:24:19 +00001947ToFile( "FREETYPE_CFLAGS", "@FREETYPE_CFLAGS@", "e" );
1948ToFile( "FREETYPE_LIBS", "@FREETYPE_LIBS@", "e" );
Oliver Bolte5208ea72008-10-10 13:02:43 +00001949ToFile( "SYSTEM_POPPLER", "@SYSTEM_POPPLER@", "e" );
1950ToFile( "POPPLER_CFLAGS", "@POPPLER_CFLAGS@", "e" );
1951ToFile( "POPPLER_LIBS", "@POPPLER_LIBS@", "e" );
ka326d7e02010-06-09 07:07:59 +02001952ToFile( "GSTREAMER_CFLAGS", "@GSTREAMER_CFLAGS@", "e" );
1953ToFile( "GSTREAMER_LIBS", "@GSTREAMER_LIBS@", "e" );
Kurt Zenker6e93bed2006-02-28 09:41:43 +00001954ToFile( "SYSTEM_CAIRO", "@SYSTEM_CAIRO@", "e" );
Release Engineersa1ecc5d2008-11-30 07:56:43 +00001955ToFile( "BUILD_PIXMAN", "@BUILD_PIXMAN@", "e" );
Kurt Zenker6e93bed2006-02-28 09:41:43 +00001956ToFile( "CAIRO_CFLAGS", "@CAIRO_CFLAGS@", "e" );
1957ToFile( "CAIRO_LIBS", "@CAIRO_LIBS@", "e" );
Rüdiger Timmd85c137f2008-07-30 12:07:05 +00001958ToFile( "XRANDR_CFLAGS", "@XRANDR_CFLAGS@", "e" );
1959ToFile( "XRANDR_LIBS", "@XRANDR_LIBS@", "e" );
1960ToFile( "XRANDR_DLOPEN", "@XRANDR_DLOPEN@", "e" );
Jürgen Schmidt77e79c42014-06-02 10:57:39 +00001961ToFile( "ENABLE_UNIT_TESTS", "@ENABLE_UNIT_TESTS@", "e" );
Rüdiger Timmf57e22b2004-09-08 14:24:19 +00001962ToFile( "SYSTEM_LIBXML", "@SYSTEM_LIBXML@", "e" );
Jens-Heiner Rechtien2c956152006-10-24 13:23:25 +00001963ToFile( "USE_FT_EMBOLDEN", "@USE_FT_EMBOLDEN@", "e" );
Rüdiger Timmf57e22b2004-09-08 14:24:19 +00001964ToFile( "LIBXML_CFLAGS", "@LIBXML_CFLAGS@", "e" );
1965ToFile( "LIBXML_LIBS", "@LIBXML_LIBS@", "e" );
1966ToFile( "SYSTEM_EXPAT", "@SYSTEM_EXPAT@", "e" );
Frank Schoenheit [fs]8cf90fe2009-12-11 09:51:25 +01001967ToFile( "ENABLE_MYSQLC", "@ENABLE_MYSQLC@", "e" );
1968ToFile( "SYSTEM_MYSQL", "@SYSTEM_MYSQL@", "e" );
1969ToFile( "SYSTEM_MYSQL_CPPCONN","@SYSTEM_MYSQL_CPPCONN@","e" );
1970ToFile( "MYSQL_INC", "@MYSQL_INC@", "e" );
1971ToFile( "MYSQL_LIB", "@MYSQL_LIB@", "e" );
1972ToFile( "MYSQL_DEFINES", "@MYSQL_DEFINES@", "e" );
1973ToFile( "LIBMYSQL_PATH", "@LIBMYSQL_PATH@", "e" );
Jens-Heiner Rechtien8f91c0e2006-04-19 14:10:10 +00001974ToFile( "SYSTEM_HSQLDB", "@SYSTEM_HSQLDB@", "e" );
1975ToFile( "HSQLDB_JAR", "@HSQLDB_JAR@", "e" );
Rüdiger Timm596f1ce2008-07-07 15:05:23 +00001976ToFile( "SYSTEM_LUCENE", "@SYSTEM_LUCENE@", "e" );
1977ToFile( "LUCENE_CORE_JAR", "@LUCENE_CORE_JAR@", "e" );
Rüdiger Timmee13bec2008-08-01 11:12:55 +00001978ToFile( "LUCENE_ANALYZERS_JAR", "@LUCENE_ANALYZERS_JAR@", "e" );
Jens-Heiner Rechtien8f91c0e2006-04-19 14:10:10 +00001979ToFile( "SYSTEM_BSH", "@SYSTEM_BSH@", "e" );
1980ToFile( "BSH_JAR", "@BSH_JAR@", "e" );
Andre Fischer1a85ae22011-12-16 12:59:55 +00001981ToFile( "ENABLE_BEANSHELL", "@ENABLE_BEANSHELL@", "e" );
Vladimir Glazounovfb78b232008-08-19 11:03:39 +00001982ToFile( "SYSTEM_SAXON", "@SYSTEM_SAXON@", "e" );
1983ToFile( "SAXON_JAR", "@SAXON_JAR@", "e" );
Andre Fischer1a85ae22011-12-16 12:59:55 +00001984ToFile( "DISABLE_SAXON", "@DISABLE_SAXON@", "e" );
1985ToFile( "ENABLE_JAVASCRIPT", "@ENABLE_JAVASCRIPT@","e" );
Andre Fischer9110bec2012-06-26 13:41:05 +00001986ToFile( "SYSTEM_APR", "@SYSTEM_APR@", "e" );
1987ToFile( "APR_CFLAGS", "@APR_CFLAGS@", "e" );
1988ToFile( "APR_LIBS", "@APR_LIBS@", "e" );
Andre Fischer9c7d0d722012-06-28 06:52:01 +00001989ToFile( "SYSTEM_APR_UTIL", "@SYSTEM_APR_UTIL@", "e" );
1990ToFile( "APR_UTIL_CFLAGS", "@APR_UTIL_CFLAGS@", "e" );
1991ToFile( "APR_UTIL_LIBS", "@APR_UTIL_LIBS@", "e" );
Andre Fischer9110bec2012-06-26 13:41:05 +00001992ToFile( "SYSTEM_SERF", "@SYSTEM_SERF@", "e" );
1993ToFile( "SERF_CFLAGS", "@SERF_CFLAGS@", "e" );
1994ToFile( "SERF_LIBS", "@SERF_LIBS@", "e" );
1995ToFile( "SYSTEM_COINMP", "@SYSTEM_COINMP@", "e" );
Andre Fischer240ddd02012-01-20 12:51:50 +00001996ToFile( "ENABLE_COINMP", "@ENABLE_COINMP@", "e" );
Andre Fischer9110bec2012-06-26 13:41:05 +00001997ToFile( "COINMP_CFLAGS", "@COINMP_CFLAGS@", "e" );
1998ToFile( "COINMP_LIBS", "@COINMP_LIBS@", "e" );
Rüdiger Timmf57e22b2004-09-08 14:24:19 +00001999ToFile( "SYSTEM_ODBC_HEADERS","@SYSTEM_ODBC_HEADERS@","e" );
Kurt Zenkereaf7f202007-05-10 12:15:24 +00002000ToFile( "SYSTEM_LIBXSLT", "@SYSTEM_LIBXSLT@", "e" );
2001ToFile( "LIBXSLT_CFLAGS", "@LIBXSLT_CFLAGS@", "e" );
2002ToFile( "LIBXSLT_LIBS", "@LIBXSLT_LIBS@", "e" );
Vladimir Glazounov7927b3c2005-02-21 14:16:50 +00002003ToFile( "SYSTEM_SANE_HEADER","@SYSTEM_SANE_HEADER@","e" );
2004ToFile( "SYSTEM_XRENDER_HEADERS","@SYSTEM_XRENDER_HEADERS@","e" );
Rüdiger Timmf57e22b2004-09-08 14:24:19 +00002005ToFile( "SYSTEM_CURL", "@SYSTEM_CURL@", "e" );
2006ToFile( "CURL_CFLAGS", "@CURL_CFLAGS@", "e" );
2007ToFile( "CURL_LIBS", "@CURL_LIBS@", "e" );
Kurt Zenkerfbfacca2005-01-18 15:13:37 +00002008ToFile( "SYSTEM_BOOST", "@SYSTEM_BOOST@", "e" );
obodd21c602010-06-23 13:38:34 +02002009ToFile( "SYSTEM_MDDS", "@SYSTEM_MDDS@", "e" );
Jens-Heiner Rechtiend1673a52007-08-02 14:55:40 +00002010ToFile( "SYSTEM_VIGRA", "@SYSTEM_VIGRA@", "e" );
Philipp Lohmann [pl]c5819b62011-03-09 18:12:52 +01002011ToFile( "SYSTEM_GDKPIXBUF", "@SYSTEM_GDKPIXBUF@", "e" );
2012ToFile( "SYSTEM_GLIB", "@SYSTEM_GLIB@", "e" );
2013ToFile( "SYSTEM_GETTEXT", "@SYSTEM_GETTEXT@", "e" );
Philipp Lohmann [pl]c5819b62011-03-09 18:12:52 +01002014ToFile( "SYSTEM_PANGO", "@SYSTEM_PANGO@", "e" );
2015ToFile( "SYSTEM_LIBPNG", "@SYSTEM_LIBPNG@", "e" );
2016ToFile( "SYSTEM_LIBJPEG", "@SYSTEM_LIBJPEG@", "e" );
Andre Fischerdd39ad42012-08-23 11:34:03 +00002017ToFile( "RAT_JAR_HOME", "@RAT_JAR_HOME@", "e" );
Jürgen Schmidt5a16c1c2011-11-21 08:25:07 +00002018ToFile( "DMAKE_URL", "@DMAKE_URL@", "e" );
Ariel Constenla-Haile70010c22011-11-23 18:41:20 +00002019ToFile( "DMAKE_PATH", "@DMAKE_PATH@", "e" );
2020ToFile( "IS_SYSTEM_DMAKE", "@IS_SYSTEM_DMAKE@", "e" );
Pedro Giffuni7ca6c182018-06-02 22:02:07 +00002021ToFile( "BUILD_STAX", "@BUILD_STAX@", "e" );
Ivo Hinkelmann7492b7f2006-08-03 14:10:40 +00002022ToFile( "BUILD_UNOWINREG", "@BUILD_UNOWINREG@", "e" );
Jens-Heiner Rechtiend81245e2004-09-09 10:22:23 +00002023ToFile( "USE_XINERAMA", "@USE_XINERAMA@", "e" );
2024ToFile( "XINERAMA_LINK", "@XINERAMA_LINK@", "e" );
Vladimir Glazounov57f4a6f2008-07-01 15:08:43 +00002025ToFile( "SYSTEM_REDLAND", "@SYSTEM_REDLAND@", "e" );
Michael Stahl5fd4beb2010-10-18 12:57:32 +02002026ToFile( "REDLAND_CFLAGS", "@REDLAND_CFLAGS@", "e" );
Vladimir Glazounov57f4a6f2008-07-01 15:08:43 +00002027ToFile( "REDLAND_LIBS", "@REDLAND_LIBS@", "e" );
Kurt Zenker49ec5942006-01-06 12:14:28 +00002028ToFile( "SYSTEM_HUNSPELL", "@SYSTEM_HUNSPELL@", "e" );
Kurt Zenker34b48062006-01-31 17:28:58 +00002029ToFile( "HUNSPELL_CFLAGS", "@HUNSPELL_CFLAGS@", "e" );
Jens-Heiner Rechtien245c6762007-07-31 12:09:45 +00002030ToFile( "HUNSPELL_LIBS", "@HUNSPELL_LIBS@", "e" );
Rene Engelhard1214da32010-05-25 11:56:39 +02002031ToFile( "HAVE_GETOPT", "@HAVE_GETOPT@", "e" );
2032ToFile( "HAVE_READDIR_R", "@HAVE_READDIR_R@", "e" );
2033ToFile( "SYSTEM_LIBC", "@SYSTEM_LIBC@", "e" );
Oliver Bolte68e71192005-06-17 08:24:42 +00002034ToFile( "SYSTEM_HYPH", "@SYSTEM_HYPH@", "e" );
Kurt Zenkerad45ea42007-12-12 12:25:13 +00002035ToFile( "HYPHEN_LIB", "@HYPHEN_LIB@", "e" );
Oliver Bolte68e71192005-06-17 08:24:42 +00002036ToFile( "SYSTEM_MYTHES", "@SYSTEM_MYTHES@", "e" );
Rene Engelhard0cce1732010-04-27 17:16:50 +02002037ToFile( "MYTHES_CFLAGS", "@MYTHES_CFLAGS@", "e" );
2038ToFile( "MYTHES_LIBS", "@MYTHES_LIBS@", "e" );
Caolán McNamara0f4075c2010-07-16 08:47:44 +01002039ToFile( "SYSTEM_LIBTEXTCAT", "@SYSTEM_LIBTEXTCAT@","e" );
Caolán McNamara3e04ba72010-07-16 14:44:32 +01002040ToFile( "SYSTEM_LIBTEXTCAT_DATA","@SYSTEM_LIBTEXTCAT_DATA@","e" );
Kurt Zenkerf6048eb2006-07-19 08:52:27 +00002041ToFile( "PAM", "@PAM@", "e" );
2042ToFile( "NEW_SHADOW_API", "@NEW_SHADOW_API@", "e" );
Oliver Bolte68e71192005-06-17 08:24:42 +00002043ToFile( "PAM_LINK", "@PAM_LINK@", "e" );
2044ToFile( "CRYPT_LINK", "@CRYPT_LINK@", "e" );
Oliver Boltec7661262007-01-23 05:35:28 +00002045ToFile( "XAU_LIBS", "@XAU_LIBS@", "e" );
Jens-Heiner Rechtienf0dfb4c2003-07-16 16:25:06 +00002046ToFile( "COMMON_BUILD_TOOLS",$COMMON_BUILD_TOOLS, "e" );
Release Engineersadff17f2009-08-06 15:00:07 +00002047if ($platform !~ m/cygwin|os2/) {
Pedro Giffuniff4ce1b2012-01-20 18:06:48 +00002048 if ( !defined $ENV{"TMPDIR"} || $ENV{"TMPDIR"} eq "" ) {
Release Engineersadff17f2009-08-06 15:00:07 +00002049 ToFile( "TMPDIR", "/tmp", "e" );
2050 } else {
2051 ToFile( "TMPDIR", "$ENV{'TMPDIR'}", "e" );
2052 }
Sander Vesik2beb9252002-08-27 10:31:48 +00002053}
Rüdiger Timm3d3907a2004-07-13 14:43:01 +00002054ToFile( "SOLARSRC", $SOLARSRC, "e" );
Ivo Hinkelmann8bcc9712009-11-18 17:50:36 +01002055ToFile( "SOURCE_ROOT_DIR", $SOURCE_ROOT_DIR, "e" );
Ivo Hinkelmann3da39392011-02-01 15:43:35 +01002056ToFile( "gb_REPOS", $gb_REPOS, "e" );
2057
Vladimir Glazounov5b67f992005-03-07 16:28:47 +00002058if ( $platform =~ m/cygwin/ )
Sander Vesik2beb9252002-08-27 10:31:48 +00002059{
Ivo Hinkelmann71285c32008-02-04 11:56:11 +00002060 ToFile( "ILIB", $ILIB, "e" );
Vladimir Glazounov3673e4f2007-03-27 09:20:09 +00002061 if ( $MINGW eq "yes" )
Ivo Hinkelmann71285c32008-02-04 11:56:11 +00002062 { ToFile( "ATL_INCLUDE", $ATL_INCLUDE, "e" );
Vladimir Glazounovf09524d2009-08-26 06:36:38 +00002063 ToFile( "EXCEPTIONS", "@EXCEPTIONS@", "e" );
Ivo Hinkelmann71285c32008-02-04 11:56:11 +00002064 ToFile( "DIRECTXSDK_HOME", PathFormat("@DIRECTXSDK_HOME@"), "e" );
Kurt Zenkerb37d0352008-03-05 15:37:05 +00002065 ToFile( "USE_MINGW", $USE_MINGW, "e" );
Vladimir Glazounovf09524d2009-08-26 06:36:38 +00002066 ToFile( "MINGW_CLIB_DIR", PathFormat("@MINGW_CLIB_DIR@"), "e" );
2067 ToFile( "MINGW_SHARED_GCCLIB", "@MINGW_SHARED_GCCLIB@", "e" );
2068 ToFile( "MINGW_GCCLIB_EH", "@MINGW_GCCLIB_EH@", "e" );
2069 ToFile( "MINGW_SHARED_GXXLIB", "@MINGW_SHARED_GXXLIB@", "e" );
tono756ad0f2011-01-06 21:56:21 +09002070 ToFile( "MINGW_SHARED_LIBSTDCPP", "@MINGW_SHARED_LIBSTDCPP@", "e" );
Vladimir Glazounovf09524d2009-08-26 06:36:38 +00002071 ToFile( "MINGW_GCCDLL", "@MINGW_GCCDLL@", "e" );
2072 ToFile( "MINGW_GXXDLL", "@MINGW_GXXDLL@", "e" );
Kurt Zenkerb37d0352008-03-05 15:37:05 +00002073 }
Sander Vesik2beb9252002-08-27 10:31:48 +00002074 ToFile( "GREP", $WIN_GREP, "e" );
2075 ToFile( "FIND", $WIN_FIND, "e" );
2076 ToFile( "LS", $WIN_LS, "e" );
2077 ToFile( "GNUCOPY", $WIN_GNUCOPY, "e" );
2078 ToFile( "TOUCH", $WIN_TOUCH, "e" );
Jürgen Schmidt7024af22012-03-08 16:22:16 +00002079 ToFile( "WITH_VC_REDIST", "@WITH_VC_REDIST@", "e" );
Sander Vesik2beb9252002-08-27 10:31:48 +00002080}
Jens-Heiner Rechtien8910ba02007-11-02 12:05:24 +00002081if ( $platform =~ m/os2/ )
2082{
Kurt Zenker8ecc7052007-12-12 14:37:11 +00002083 #ToFile( "ILIB", $ILIB, "e" );
Jens-Heiner Rechtien8910ba02007-11-02 12:05:24 +00002084
2085 ToFile( "GREP", "grep.exe", "e" );
2086 ToFile( "FIND", "find.exe", "e" );
2087 ToFile( "LS", "ls.exe", "e" );
2088 ToFile( "GNUCOPY", "cp.exe", "e" );
2089 ToFile( "TOUCH", "touch", "e" );
Yuri Darioee129192015-09-14 10:26:32 +00002090 ToFile( "CONFIG_SITE", "/@unixroot/usr/share/config.legacy", "e" );
Jens-Heiner Rechtien8910ba02007-11-02 12:05:24 +00002091}
2092
Rüdiger Timmb947b022006-05-04 08:25:34 +00002093# $perlpre is only used for the following three variables
Hans-Joachim Lankenau9862e4b2009-10-26 16:04:03 +01002094# and only set for OS2.
Rüdiger Timmb947b022006-05-04 08:25:34 +00002095my $perlpre = "";
Oliver Bolte4e4c1232008-07-22 16:41:57 +00002096if (( $platform =~ m/os2/ )) {
2097 $perlpre = "perl ".${SOLARENV}.${BIN}.${ds};
2098}
Rüdiger Timmb947b022006-05-04 08:25:34 +00002099ToFile( "DELIVER", $perlpre."deliver.pl", "e" );
2100ToFile( "MKOUT", $perlpre."mkout.pl", "e" );
2101ToFile( "ZIPDEP", $perlpre."zipdep.pl", "e" );
2102
Sander Vesik2beb9252002-08-27 10:31:48 +00002103#
2104# Writing the aliases to file.
Sander Vesik2beb9252002-08-27 10:31:48 +00002105ToFile( "Aliases.", $empty, "c" );
Kurt Zenker7db23e52006-07-19 08:36:45 +00002106
Sander Vesik2beb9252002-08-27 10:31:48 +00002107ToFile( "alias mkout", $mkout, "a" );
2108ToFile( "alias deliver", $deliver, "a" );
2109ToFile( "alias build", $build, "a" );
Kurt Zenkercc9115f2007-05-09 12:27:09 +00002110ToFile( "alias build_client",$build_client, "a" );
Sander Vesik2beb9252002-08-27 10:31:48 +00002111ToFile( "alias zipdep", $zipdep, "a" );
Vladimir Glazounov5b67f992005-03-07 16:28:47 +00002112if ( $platform !~ m/cygwin/ )
Sander Vesik2beb9252002-08-27 10:31:48 +00002113{ ToFile( "alias nmake", $nmake, "a" );
2114}
Jens-Heiner Rechtien8910ba02007-11-02 12:05:24 +00002115if ( $platform =~ m/os2/ )
2116{ ToFile( "alias gunzip", "gzip -d", "a" );
2117}
Sander Vesik2beb9252002-08-27 10:31:48 +00002118
Kurt Zenker2851c0e2006-01-06 10:17:44 +00002119
Andrew Rist462931a2012-02-05 20:51:44 +00002120# on Solaris, MacOSX and FreeBSD (and Windows) set GNUPATCH and GPERF
2121if ($platform =~ m/solaris|darwin|freebsd|cygwin/)
Jens-Heiner Rechtienf0dfb4c2003-07-16 16:25:06 +00002122{
2123 ToFile( "GNUPATCH", "@GNUPATCH@", "e");
Pedro Giffuni9582dbb2012-01-30 18:14:13 +00002124 ToFile( "GPERF", "@GPERF@", "e");
Jens-Heiner Rechtienf0dfb4c2003-07-16 16:25:06 +00002125}
Pedro Giffunic4d66c02011-10-06 18:11:10 +00002126ToFile( "GNUCOPY", "@GNUCP@", "e");
Jens-Heiner Rechtien8910ba02007-11-02 12:05:24 +00002127# OS/2 define .pl as executable for 4os2
2128# use - as switch char for dmake (os2/switchar.c)
2129if ($platform =~ m/os2/)
2130{
2131 ToFile( ".pl", "perl", "e");
2132 ToFile( "SWITCHAR", "-", "e");
2133}
Rüdiger Timm90124b02005-05-13 06:30:21 +00002134ToFile( "SAL_ENABLE_FILE_LOCKING", "1", "e");
Sander Vesik2beb9252002-08-27 10:31:48 +00002135#
2136# Writing unset variables you might not need to file.
2137#
Rüdiger Timmb947b022006-05-04 08:25:34 +00002138print OUT_SH "export $exportvars$newline";
2139print OUT_SH "unset $unsetvarssh$newline";
2140
Pedro Giffuni05628402011-11-09 20:10:55 +00002141if(defined($outfile_bat))
2142{ print OUT_BAT $unsetvarsbat;
2143}
Sander Vesik2beb9252002-08-27 10:31:48 +00002144
2145#
2146#---------------------------
2147# VIII. Closing output file.
2148#---------------------------
2149#
Rüdiger Timmb947b022006-05-04 08:25:34 +00002150close( OUT_SH ) || print "Can't close $outfile_sh: $!";
Damjan Jovanovic4bbb85b2017-08-09 17:43:42 +00002151close( OUT_PROPS ) || print "Can't close ant.properties: $!";
Rüdiger Timmb947b022006-05-04 08:25:34 +00002152
Pedro Giffuni05628402011-11-09 20:10:55 +00002153if( defined($outfile_bat))
2154{ close( OUT_BAT ) || print "Can't close $outfile_bat: $!";
2155}
2156
Sander Vesik2beb9252002-08-27 10:31:48 +00002157#
2158#------------------------------
2159# IX. Sourcing the output file.
2160#------------------------------
2161#
2162#---------------------------------
2163# X. Set up the build environment.
2164#---------------------------------
Sander Vesik2beb9252002-08-27 10:31:48 +00002165#
2166#--------------------------------------------------------
2167# XI. Moving the output file to the build home directory.
2168#--------------------------------------------------------
2169#
2170$tmp = $SRC_ROOT.$ds.$outfile;
2171if (rename( $outfile, $tmp ) ne 1)
2172{ `mv -f $outfile $tmp`;
2173}
Rüdiger Timmb947b022006-05-04 08:25:34 +00002174
2175$tmp = $SRC_ROOT.$ds.$outfile_sh;
2176if (rename( $outfile_sh, $tmp ) ne 1)
2177{ `mv -f $outfile_sh $tmp`;
Armin Theissend79016b2002-10-22 12:24:17 +00002178}
Rüdiger Timmb947b022006-05-04 08:25:34 +00002179
Pedro Giffuni05628402011-11-09 20:10:55 +00002180if(defined($outfile_bat))
2181{
2182 $tmp = $SRC_ROOT.$ds.$outfile_bat;
2183 if (rename( $outfile_bat, $tmp ) ne 1)
2184 { `mv -f $outfile_bat $tmp`;
2185 }
2186}
2187
Sander Vesik2beb9252002-08-27 10:31:48 +00002188#
2189#--------------------------------------------------------
2190# XII. Message at the end.
2191#--------------------------------------------------------
2192#
2193#
2194print "*********************************************************".
2195 "******************* $newline"."*"."$newline";
Herbert Dürrd340fd42012-10-24 14:25:50 +00002196print "* Apache OpenOffice $UPD configuration. $newline";
Sander Vesik2beb9252002-08-27 10:31:48 +00002197for ( $tmp = 0; $tmp < 2; $tmp++ )
2198{ print "* $newline";
2199}
Herbert Dürrd340fd42012-10-24 14:25:50 +00002200print "* Configuration part of Apache OpenOffice $UPD build is finished. $newline* $newline";
Herbert Dürr8208a542012-10-25 08:46:06 +00002201print "* Note: Be aware that you might not be able to build Apache OpenOffice if $newline".
2202 "* you ignore any warnings that were generated during this configuration $newline".
Oliver Bolte0da37bf2005-01-25 11:43:16 +00002203 "* process. $newline* $newline";
Sander Vesik2beb9252002-08-27 10:31:48 +00002204
2205if ( $Warning ne "" )
2206{ print "$Warning*";
2207 print "$newline";
2208}
2209
Oliver Bolte0da37bf2005-01-25 11:43:16 +00002210print "*$newline* USAGE: $newline";
Damjan Jovanovicca68acd2016-08-07 19:24:03 +00002211print "* Source $outfile.sh (in sh)";
Martin Hollmicheld611db52003-01-20 14:00:18 +00002212print "$newline";
2213print "* in order to set up the build-environment variables.$newline";
Sander Vesik2beb9252002-08-27 10:31:48 +00002214for ( $tmp = 0; $tmp < 2; $tmp++ )
2215{ print "* $newline";
2216}
2217print "*********************************************************".
2218 "******************* $newline";
2219
2220$bootfile = "bootstrap";
2221open( OUT, ">$bootfile" ) ||
2222die "Cannot open $bootfile: $!\n";
Kurt Zenker06fed35d2006-07-05 21:32:39 +00002223print OUT "#!/bin/sh\n";
Vladimir Glazounov3673e4f2007-03-27 09:20:09 +00002224if ( $MINGW eq "yes" )
2225{ print OUT 'PATH="/usr/bin:$PATH" : export PATH'."\n"; }
Sander Vesik2beb9252002-08-27 10:31:48 +00002226close( OUT ) || print "Can't close $bootfile: $!";
2227system(`cat bootstrap.1 >> bootstrap`);
Sander Vesik2beb9252002-08-27 10:31:48 +00002228system(`chmod +x bootstrap`);
2229#
2230#--------------------------------------------------------
2231# Moving the bootstrap file to the build home directory.
2232#--------------------------------------------------------
2233#
2234$tmp = $SRC_ROOT.$ds.$bootfile;
2235if (rename( $bootfile, $tmp ) ne 1)
2236{ `mv -f $bootfile $tmp`;
2237}
Armin Theissend79016b2002-10-22 12:24:17 +00002238
Herbert Dürrce2c7352011-09-22 13:48:15 +00002239print "Configure completed";
Vladimir Glazounov9e4411b2003-06-12 09:16:12 +00002240if ( $Warning ne "" ) {
Herbert Dürrce2c7352011-09-22 13:48:15 +00002241 print ", but\n***** WARNINGS WERE ISSUED *****";
Vladimir Glazounov9e4411b2003-06-12 09:16:12 +00002242}
Herbert Dürrce2c7352011-09-22 13:48:15 +00002243print "\n\nRun ./bootstrap in $SRC_ROOT to provide build tools and get third-party packages\n";
Vladimir Glazounov9e4411b2003-06-12 09:16:12 +00002244
Sander Vesik2beb9252002-08-27 10:31:48 +00002245#
2246#-----------------
2247# XII. Functions.
2248#-----------------
2249#
Sander Vesik2beb9252002-08-27 10:31:48 +00002250#-------------------------------------------------------------
2251# Function name: CheckPathName
2252# Description: chops off the '/' character if it's the last
2253# character in a pathname. also adds the '/'
2254# character if it's not the first character
2255# in a path.
2256# Arguments: 1. Path (string)
2257# Return value: Path (string)
2258#-------------------------------------------------------------
2259sub CheckPathName
2260{ my $retrn = $_[ 0 ];
Hans-Joachim Lankenau9862e4b2009-10-26 16:04:03 +01002261 if ($platform =~ m/cygwin/)
Sander Vesik2beb9252002-08-27 10:31:48 +00002262 { # Check if the first character is not a '/'.
2263 if ( !( $_[ 0 ] =~ /^\// ) )
2264 { $retrn = $ds.$_[ 0 ];
2265 }
2266 }
2267 # kill the last '/','\','\n' if they exists.
2268 $retrn =~ s![\s/\\]+$!!;
2269 # Done!
2270 return( $retrn );
2271}
2272#-------------------------------------------------------------
2273# Function name: CheckPathExist
2274# Description: Checks whether the directory that is given
Vladimir Glazounovefacf572005-03-08 15:35:34 +00002275# as an argument exists. If not abort.
Sander Vesik2beb9252002-08-27 10:31:48 +00002276# Arguments: 1. Path (string)
2277# Return value: void
2278#-------------------------------------------------------------
2279sub CheckPathExist
2280{ my $dir = $_[ 0 ];
Vladimir Glazounovefacf572005-03-08 15:35:34 +00002281 if ( !( -d $dir ) and $^O ne 'MSWin32' )
2282 { print ( "The directory $_[ 0 ] does not exist. Please create first.\n" );
2283 exit 1;
Sander Vesik2beb9252002-08-27 10:31:48 +00002284 }
2285 else
Vladimir Glazounovefacf572005-03-08 15:35:34 +00002286 { # Don't check under ActiveState Perl (Windows). The path is possibly
2287 # posix and it cannot handle it.
2288 return "true";
Sander Vesik2beb9252002-08-27 10:31:48 +00002289 }
2290}
2291#------------------------------------------------------------
2292# Function name: CreateFileHeader
2293# Description: Creates a header for the outfile.
Armin Theissend79016b2002-10-22 12:24:17 +00002294# Arguments: 1. File to write to
2295# 2. UPD (string)
2296# 3. Platform (string)
2297# 4. name of shell for this file
Jens-Heiner Rechtiene0ac98f2003-03-19 15:03:25 +00002298# 5. comment to use for this file
Sander Vesik2beb9252002-08-27 10:31:48 +00002299# Return value: void
2300#------------------------------------------------------------
2301sub CreateFileHeader
2302{ my $timestamp = `date`;
2303 chomp( $timestamp );
Armin Theissend79016b2002-10-22 12:24:17 +00002304 my $filehandle = $_[0];
Jens-Heiner Rechtiene0ac98f2003-03-19 15:03:25 +00002305 my $comment = $_[4];
Armin Theissend79016b2002-10-22 12:24:17 +00002306 print { $filehandle } "$comment #################################################################";
2307 print { $filehandle } $newline;
Herbert Dürrd340fd42012-10-24 14:25:50 +00002308 print { $filehandle } "$comment Apache OpenOffice $_[ 1 ] build environment file for: $_[ 2 ]. $newline";
Armin Theissend79016b2002-10-22 12:24:17 +00002309 print { $filehandle } "$comment Generated on: $timestamp $newline";
2310 print { $filehandle } "$comment Source this file to set up the build environment. $newline";
2311 print { $filehandle } "$comment 1. exec $_[3] $newline";
2312 print { $filehandle } "$comment 2. source $outfile $newline";
2313 print { $filehandle } "$comment #################################################################";
2314 print { $filehandle } $newline;
Sander Vesik2beb9252002-08-27 10:31:48 +00002315}
2316#---------------------------------------------------------
Rüdiger Timmb947b022006-05-04 08:25:34 +00002317# Function name: ToFile
Sander Vesik2beb9252002-08-27 10:31:48 +00002318# Description: Writes the environment variable in the
Rüdiger Timmb947b022006-05-04 08:25:34 +00002319# output file.
Sander Vesik2beb9252002-08-27 10:31:48 +00002320# Arguments: 1. Name of environment variable (string)
2321# 2. Value of environment variable (string)
Rüdiger Timmb947b022006-05-04 08:25:34 +00002322# 3. e - env. var
2323# a - alias
2324# c - comment
2325# n - newline
Kurt Zenker7db23e52006-07-19 08:36:45 +00002326# z - raw, write as is to OUT_SH
Sander Vesik2beb9252002-08-27 10:31:48 +00002327# Return value: void
2328#---------------------------------------------------------
Rüdiger Timmb947b022006-05-04 08:25:34 +00002329sub ToFile {
2330 if ( $_[ 2 ] eq "e" ) {
2331 # Write an environment variable to file.
2332 if (defined $_[ 1 ] && $_[ 1 ] ne "" ) {
2333 my $envvar = $_[ 1 ];
2334 my $envvarbash = $envvar;
Kurt Zenker8ecc7052007-12-12 14:37:11 +00002335
Pedro Giffuni05628402011-11-09 20:10:55 +00002336 if ($platform =~ m/os2/) {
2337 # expand the variables
2338 $envvar =~ s/(\$\{?\w+\}?)/$1/eeg ;
2339 # Some variables need to be translated
2340 #if ( ($_[ 0 ] =~ /^PATH$/) and ($platform !~ m/os2/) ) {
2341 # # PATH is in cygwin format, but for 4nt it needs to be DOS.
2342 # $win_format_var = WinPath( $envvar, ":" );
2343 #} else {
2344 # $win_format_var = WinFormat( $envvar );
2345 #}
2346 ## The excluded variables are translated by cygwin
2347 #if ( $_[ 0 ] !~ /^PATH$|^TMP$|^TEMP$|^TMPDIR$|^HOME$/i ) {
2348 # $envvar = $win_format_var;
2349 #}
2350 }
2351
Kurt Zenker8ecc7052007-12-12 14:37:11 +00002352 # Tcsh/bash needs backslashes quoted
2353 $envvar =~ s/\\/\\\\/g;
2354 $envvarbash = $envvar;
2355
Damjan Jovanovic4bbb85b2017-08-09 17:43:42 +00002356 my $antvar = $envvarbash;
2357 $antvar =~ s/(\$\{?\w+\}?)/$1/eeg ;
2358
Pedro Giffuni05628402011-11-09 20:10:55 +00002359 if ($platform =~ m/os2/) {
2360 # expand the variables
2361 $envvar =~ s/(\$\{?\w+\}?)/$1/eeg ;
2362 if ($_[ 0 ] =~ /^PATH$|^BEGINLIBPATH$/) {
2363 # always use \ for them
2364 $envvar =~ s/\//\\/g ;
2365 }
2366 $win_format_var = $envvar;
2367 }
2368
Rüdiger Timmb947b022006-05-04 08:25:34 +00002369 printf("%-12s %-17s %-10s %s\n", "The variable", $_[ 0 ], "is set to:", $envvar);
Rüdiger Timmb947b022006-05-04 08:25:34 +00002370 print OUT_SH "$_[ 0 ]=\"$envvarbash\"$newline"; # to sh file
2371 $exportvars .= " $_[ 0 ]"; # add to export list for sh file
Damjan Jovanovic4bbb85b2017-08-09 17:43:42 +00002372 print OUT_PROPS "$_[ 0 ]=$antvar$newline"; # to Ant properties file
Kurt Zenker8ecc7052007-12-12 14:37:11 +00002373
Pedro Giffuni05628402011-11-09 20:10:55 +00002374 if(defined($outfile_bat)) {
2375 print OUT_BAT "IF DEFINED $_[ 0 ] $unset $_[ 0 ]$newline";
2376 print OUT_BAT "$set $_[ 0 ]=$win_format_var$newline";
2377 }
2378
Rüdiger Timmb947b022006-05-04 08:25:34 +00002379 } else {
2380 printf("%-12s %-17s %-10s %s\n", "The variable", $_[ 0 ], "is set to:", "unset") ; # to stdout
Jens-Heiner Rechtien0bd236a2003-04-28 16:02:16 +00002381 $unsetvars .= "$unsetenv $_[ 0 ] >& /dev/null$newline"; # for tcsh file
2382 $unsetvarssh .= " $_[ 0 ]"; # for sh file
Pedro Giffuni05628402011-11-09 20:10:55 +00002383 if(defined($outfile_bat)) {
2384 $unsetvarsbat .= "$unset $_[ 0 ] >& NUL$newline";
2385 }
Sander Vesik2beb9252002-08-27 10:31:48 +00002386 }
2387 }
2388 elsif ( $_[ 2 ] eq "a" )
2389 { # Write an alias to file.
Rüdiger Timmb947b022006-05-04 08:25:34 +00002390 print "The $_[ 0 ] is set to: $_[ 1 ]\n"; # to stdout
Rüdiger Timmb947b022006-05-04 08:25:34 +00002391 print OUT_SH "$_[ 0 ]=$_[ 1 ]$newline"; # to sh file
Pedro Giffuni05628402011-11-09 20:10:55 +00002392 if(defined($outfile_bat)) # create the correct 4nt alias format
2393 { my $aliastmp = $_[ 1 ];
2394 $aliastmp =~ s/\$/\%/g;
2395 $aliastmp =~ s!/!\\!g;
2396 $aliastmp =~ s!"!!g;
2397 print OUT_BAT "$_[ 0 ]=".'`'.$aliastmp.'`'.$newline;
2398 }
Sander Vesik2beb9252002-08-27 10:31:48 +00002399 }
2400 elsif ( $_[ 2 ] eq "c" )
2401 { # Write a comment to file.
2402 print "$newline";
Rüdiger Timmb947b022006-05-04 08:25:34 +00002403 print "$comment$newline";
2404 print "$comment $_[ 0 ]$newline";
2405 print "$comment$newline";
Rüdiger Timmb947b022006-05-04 08:25:34 +00002406 print OUT_SH "$newline";
2407 print OUT_SH "$comment$newline";
2408 print OUT_SH "$comment $_[ 0 ]$newline";
2409 print OUT_SH "$comment$newline";
Pedro Giffuni05628402011-11-09 20:10:55 +00002410 if(defined($outfile_bat)) {
2411 print OUT_BAT "$newline";
2412 print OUT_BAT "rem $newline";
2413 print OUT_BAT "rem $_[ 0 ]$newline";
2414 print OUT_BAT "rem $newline";
2415 }
Sander Vesik2beb9252002-08-27 10:31:48 +00002416 }
Rüdiger Timmb947b022006-05-04 08:25:34 +00002417 elsif ( $_[ 2 ] eq "n" )
Sander Vesik2beb9252002-08-27 10:31:48 +00002418 { #Write a newline to a file
Rüdiger Timmb947b022006-05-04 08:25:34 +00002419 print OUT_SH "$newline";
Pedro Giffuni05628402011-11-09 20:10:55 +00002420 print OUT_BAT "$newline" if defined($outfile_bat);
Sander Vesik2beb9252002-08-27 10:31:48 +00002421 }
Kurt Zenker7db23e52006-07-19 08:36:45 +00002422 elsif ( $_[ 2 ] eq "z" )
2423 {
2424 #Write first argument as is, and nothing else
Rüdiger Timmb947b022006-05-04 08:25:34 +00002425 print OUT_SH "$_[ 0 ]$newline";
2426 }
Kurt Zenker8ecc7052007-12-12 14:37:11 +00002427 else
Rüdiger Timmb947b022006-05-04 08:25:34 +00002428 { print "Unknown type!$newline";
Sander Vesik2beb9252002-08-27 10:31:48 +00002429 }
2430}
2431#----------------------------------------------------------
Kurt Zenker8ecc7052007-12-12 14:37:11 +00002432# Function name: PathFormat
2433# Description: Reformat path to either POSIX or mixed mode style.
Sander Vesik2beb9252002-08-27 10:31:48 +00002434# Arguments: 1. Variable (string)
2435# Return value: Reformatted String
2436#----------------------------------------------------------
Kurt Zenker8ecc7052007-12-12 14:37:11 +00002437sub PathFormat
Rüdiger Timm027b5882004-06-16 09:48:31 +00002438{ my ( $variable, $d1, $d2 );
Sander Vesik2beb9252002-08-27 10:31:48 +00002439 $variable = $_[ 0 ];
Rüdiger Timm027b5882004-06-16 09:48:31 +00002440
Kurt Zenker8ecc7052007-12-12 14:37:11 +00002441 if ( $platform =~ m/cygwin/ )
2442 { $variable =~ s/(\$\{?\w+\}?)/$1/eeg ; # expand the variables
2443 $variable =~ s/(\$\{?\w+\}?)/$1/eeg ; # expand the variables twice!
2444
2445 # Complain if PosixPath is used on a PATH-like string
2446 if ( $variable =~ m/;/ ) {
2447 die( "Do not use on PATH lists (i.e., 'c:\\foo;d:\\bar')");
2448 }
2449
2450 # Replace path with space with short dos path
2451 if ( $variable =~ / / ) {
2452 chomp( $variable = qx{cygpath -d "$variable"} ) ;
2453 }
2454
2455 # Replace absolute paths or DOS paths with ...
2456 if ( ( $variable =~ m/^\// ) or ( $variable =~ m/:/ ) ) {
Kurt Zenkerb37d0352008-03-05 15:37:05 +00002457 # mixed mode paths
2458 chomp( $variable = qx{cygpath -m "$variable"} );
Kurt Zenker8ecc7052007-12-12 14:37:11 +00002459 }
Jens-Heiner Rechtien8910ba02007-11-02 12:05:24 +00002460 }
Sander Vesik2beb9252002-08-27 10:31:48 +00002461 return $variable;
2462}
2463#----------------------------------------------------------
Kurt Zenker8ecc7052007-12-12 14:37:11 +00002464# Function name: CygFormat
2465# Description: Format variables to cygwin posix style path
2466# unless .
2467# Arguments: 1. Variable (string)
2468# Return value: Reformatted String
2469#----------------------------------------------------------
2470sub CygFormat
2471{ my ( $variable, $d1, $d2 );
2472 $variable = $_[ 0 ];
2473 # ToDo: Do the replacement only if Windows and var contains "\" and ":"
2474 if ( $platform =~ m/cygwin|os2/ )
2475 {
2476 # Complain if PosixPath is used on a PATH-like string
2477 if ( $variable =~ m/;/ ) {
2478 die( "Do not use on PATH lists (i.e., 'c:\\foo;d:\\bar')");
2479 }
2480
2481 # Replace DOS paths with posix paths
2482 if ( ( $variable =~ m/\\/ ) or ( $variable =~ m/:/ ) ) {
2483 chomp( $variable = qx{cygpath -u "$variable"} );
2484 }
2485 }
2486 return $variable;
2487}
2488#----------------------------------------------------------
2489# Function name: WinFormat
Sander Vesik2beb9252002-08-27 10:31:48 +00002490# Description: Format variables to Windows Format.
2491# Arguments: 1. Variable (string)
2492# Return value: Reformatted String
2493#----------------------------------------------------------
Kurt Zenker8ecc7052007-12-12 14:37:11 +00002494sub WinFormat
2495{ my ( $variable, $d1 );
Sander Vesik2beb9252002-08-27 10:31:48 +00002496 $variable = $_[ 0 ];
Armin Theissend79016b2002-10-22 12:24:17 +00002497 $variable =~ s/^\s+//g ; #remove leading spaces
2498 $variable =~ s/\s+$//g ; #remove trailing spaces
Armin Theissend79016b2002-10-22 12:24:17 +00002499 $variable =~ s/(\$\{?\w+\}?)/$1/eeg ; # expand the variables
2500 $variable =~ s/(\$\{?\w+\}?)/$1/eeg ; # expand the variables twice!
Sander Vesik2beb9252002-08-27 10:31:48 +00002501 $variable =~ s/:+/:/g ; # remove multiple ;
2502
Kurt Zenker8ecc7052007-12-12 14:37:11 +00002503 # Some variables are already in DOS path format, return early.
2504 if ( $variable =~ /\\/ ) {
2505 return $variable;
2506 }
2507 if ( $variable eq ";" ) {
2508 # Ignore single ';'
2509 return $variable;
2510 }
2511 if ( $variable =~ /;/ and $variable =~ /\// ) {
2512 # Mixed mode path-style entry, separated with ;, like CLASSPATH
2513 return $variable;
Jens-Heiner Rechtien8910ba02007-11-02 12:05:24 +00002514 }
2515
Kurt Zenker8ecc7052007-12-12 14:37:11 +00002516 # Search for posix path entry and replace with cygpath -w entry
2517 # ( -d if filename contains space )
Rüdiger Timmb947b022006-05-04 08:25:34 +00002518
Kurt Zenker8ecc7052007-12-12 14:37:11 +00002519 # Normal paths
Rüdiger Timmb947b022006-05-04 08:25:34 +00002520
Kurt Zenker8ecc7052007-12-12 14:37:11 +00002521 # One special case is if "perl " is prepended.
2522 $variable =~ /^(perl\s+)?(.*)$/;
2523 my $perlpre = $1;
2524 if ( !defined($perlpre) ) {
2525 $perlpre = "";
2526 }
2527 $variable = $2;
2528
2529 if ( $variable =~ /^\/[\w\.~ ]+/ ) {
2530 if ( $variable =~ / / ) {
2531 # Use DOS 8.3 style to avoid quoting
2532 chomp( $variable = qx{cygpath -d "$variable"} );
2533 } else {
2534 # Use "normal" filenames
2535 chomp( $variable = qx{cygpath -w "$variable"} );
Sander Vesik2beb9252002-08-27 10:31:48 +00002536 }
Kurt Zenker8ecc7052007-12-12 14:37:11 +00002537 } else {
2538 # relative or absolute DOS paths here
2539 $variable =~ s#/#\\#g;
2540 }
2541
2542 $variable = $perlpre.$variable;
2543 if ( ($perlpre ne "") && ($^O eq "cygwin")) {
2544 # Cygwin's perl needs quoted backslashes
2545 $variable =~ s#\\#\\\\#g;
2546 }
2547
Sander Vesik2beb9252002-08-27 10:31:48 +00002548 return $variable;
2549}
Jens-Heiner Rechtien25e51f22004-02-02 17:17:15 +00002550
Kurt Zenker8ecc7052007-12-12 14:37:11 +00002551#----------------------------------------------------------
2552# Function name: WinPath
Pedro Giffunife289612016-05-22 01:05:14 +00002553# Description: Reformat a $sep separated path using DOS paths.
Kurt Zenker8ecc7052007-12-12 14:37:11 +00002554# Arguments: 1. Variable (string)
2555# 2. Separaror (string)
2556# Return value: Reformatted String
2557#----------------------------------------------------------
2558sub WinPath
2559{
2560 my ( $variable, $d1, $sep, @split_var );
2561
2562 if ( $platform =~ m/cygwin/ ) {
2563 $variable = $_[ 0 ];
2564 $sep = $_[ 1 ];
2565 $variable =~ s/^\s+//g ; #remove leading spaces
2566 $variable =~ s/\s+$//g ; #remove trailing spaces
2567 $variable =~ s/(\$\{?\w+\}?)/$1/eeg ; # expand the variables
2568 $variable =~ s/(\$\{?\w+\}?)/$1/eeg ; # expand the variables twice!
2569
2570 @split_var = split(/$sep/,$variable);
2571 foreach $d1 ( @split_var ) {
2572 if ( $d1 =~ /(?:^\/[\w\.~ ]+)+/ ) {
2573 if ( $d1 =~ / / ) {
2574 # Use DOS 8.3 style to avoid quoting
2575 chomp( $d1 = qx{cygpath -d "$d1"} );
2576 } else {
2577 # Use "normal" filenames
2578 chomp( $d1 = qx{cygpath -w "$d1"} );
2579 }
2580 }
2581 }
2582 $variable = join(';',@split_var);
2583
2584 $variable =~ s/\//\\/g; # Remaining \ come from e.g.: ../foo/baa
2585 }
2586
2587 return $variable;
2588}
2589
Sander Vesik2beb9252002-08-27 10:31:48 +00002590#--------------------------------------------------------
2591# Function name: GetCorrectPath
2592# Description: Creates the build environment.
Jens-Heiner Rechtien25e51f22004-02-02 17:17:15 +00002593# Arguments: 1. existing / original path
2594# 2... pairs of <path, executable>
Sander Vesik2beb9252002-08-27 10:31:48 +00002595# Return value: String - Correct Path
2596#--------------------------------------------------------
Jens-Heiner Rechtien25e51f22004-02-02 17:17:15 +00002597sub GetCorrectPath
2598{
2599 sub PathLookup
2600 {
2601 my $cmd = shift;
2602 while (@_) {
2603 my $elem = shift;
2604
2605 -x "$elem/$cmd" && return $elem;
2606 }
2607 return '';
2608 }
2609
2610 sub SaneGrep
2611 {
2612 # Perl grep is unbelievably strange.
2613 my $needle = shift;
Kurt Zenkerf19be042004-02-25 12:50:35 +00002614 while (@_) {
2615 my $haystack = shift;
Jens-Heiner Rechtien25e51f22004-02-02 17:17:15 +00002616 if ($needle eq $haystack) {
2617 return 1;
2618 }
2619 }
2620 return 0;
2621 }
2622
2623 sub CleanupPath
2624 {
2625 my @elements = @_;
2626 my @cleanName = ();
Jens-Heiner Rechtien25e51f22004-02-02 17:17:15 +00002627
Kurt Zenkerf19be042004-02-25 12:50:35 +00002628 while (@elements) {
2629 my $elem = shift @elements;
Jens-Heiner Rechtien25e51f22004-02-02 17:17:15 +00002630 if (!SaneGrep ($elem, @cleanName)) {
2631 push @cleanName, $elem;
2632 }
2633 }
2634
2635 return @cleanName;
2636 }
2637
2638 my $oldPath = shift;
2639 my @originalPairs = @_;
2640 my @pairs = @originalPairs;
2641 my @Path = split /$ps/, $oldPath;
Pedro Giffuni775929f2015-03-26 22:31:35 +00002642 my @buildPath;
2643 my @sysPath;
2644 my $elem;
2645
2646 for $elem (@Path) {
2647 if ($elem eq '.' || $elem =~ m'^$SOLARENV/' ||
2648 $elem =~ m'/solenv/') {
2649 push @buildPath, $elem;
2650 } else {
2651 push @sysPath, $elem;
2652 }
2653 }
Jens-Heiner Rechtien25e51f22004-02-02 17:17:15 +00002654
2655 while (@pairs) {
2656 my $path = shift @pairs;
2657 my $cmd = shift @pairs;
2658 my $to_append = 1;
Jens-Heiner Rechtien25e51f22004-02-02 17:17:15 +00002659
2660 if (! -x "$path/$cmd") {
2661 AddWarning ("Missing executable $path/$cmd\n");
2662 }
2663
Pedro Giffuni775929f2015-03-26 22:31:35 +00002664 for $elem (@sysPath) {
Jens-Heiner Rechtien25e51f22004-02-02 17:17:15 +00002665 if ($elem eq $path) {
2666# print "Hit duplicate path in path; break\n";
2667 $to_append = 0;
2668 last;
2669 }
Pedro Giffuni775929f2015-03-26 22:31:35 +00002670 if (-f "$elem/$cmd" && ! -l "$elem/$cmd") {
Jens-Heiner Rechtien25e51f22004-02-02 17:17:15 +00002671# print "Element already in path ...\n";
Pedro Giffuni775929f2015-03-26 22:31:35 +00002672 unshift @sysPath, $path;
Jens-Heiner Rechtien25e51f22004-02-02 17:17:15 +00002673 $to_append = 0;
2674 last;
2675 } else {
2676# print "No file $elem/$cmd\n";
2677 }
2678 }
2679 if ($to_append) {
Pedro Giffuni775929f2015-03-26 22:31:35 +00002680 push @sysPath, $path;
Jens-Heiner Rechtien25e51f22004-02-02 17:17:15 +00002681 }
2682 }
2683
2684 @pairs = @originalPairs;
2685 while (@pairs) {
2686 my $path = shift @pairs;
2687 my $cmd = shift @pairs;
2688 my $realpath;
2689
Pedro Giffuni775929f2015-03-26 22:31:35 +00002690 $realpath = PathLookup ($cmd, @sysPath);
Jens-Heiner Rechtien25e51f22004-02-02 17:17:15 +00002691 if (!($realpath eq $path)) {
2692 AddWarning ("Path conflict for executables " .
2693 "$path/$cmd against $realpath");
2694 }
2695 }
2696
Pedro Giffuni775929f2015-03-26 22:31:35 +00002697 return join $ps, @buildPath, CleanupPath (@sysPath);
Sander Vesik2beb9252002-08-27 10:31:48 +00002698}
Jens-Heiner Rechtien25e51f22004-02-02 17:17:15 +00002699
Sander Vesik2beb9252002-08-27 10:31:48 +00002700#------------------------------------------------------------
2701# Function name: AddWarning
2702# Description: Adds any kind of warning for the user.
2703# The warning will be shown at the end
2704# of this script.
2705# Arguments: 1. Add the configure warnings or the set_soenv
2706# warning (string).
2707# 2. Warning (string).
2708# Return value: void
2709#------------------------------------------------------------
2710sub AddWarning
2711{ if ( $_[ 0 ] eq "configure" )
2712 { open( IN, $warnfile );
2713 while ( <IN> )
2714 { $Warning = $Warning."* - ".$_;
2715 }
2716 close( IN );
2717 # Remove the temporary warning file.
2718 # unlink ( $warnfile );
2719 }
2720 elsif ( $_[ 0 ] eq "set_soenv" )
2721 { my ( $arg1 );
2722 $arg1 = $_[ 1 ];
2723 chomp( $arg1 ); # cut off new line
2724 $Warning = $Warning."* - set_soenv: warning: $arg1 $newline"; # add the warning
2725 }
2726}
2727#-------------------
2728# That's all folks!
2729#-------------------