annotate make/jprt.config @ 364:919e7959392a

6742641: G1: NullPointerException during GCOld Summary: An update buffer is not processed correctly, which causes roots into the collection set not to be scanned and, hence, for the heap to be corrupted. The cause is that an object is accessed after it has been explicitly deleted, which causes a race. Reviewed-by: jcoomes, ysr
author tonyp
date Mon, 22 Sep 2008 09:56:49 -0400
parents 4852f4a82e58
children 4961a8a726a4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 #!echo "This is not a shell script"
a61af66fc99e Initial load
duke
parents:
diff changeset
2 #
196
d1605aabd0a1 6719955: Update copyright year
xdono
parents: 158
diff changeset
3 # Copyright 2006-2008 Sun Microsystems, Inc. All Rights Reserved.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
4 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
a61af66fc99e Initial load
duke
parents:
diff changeset
5 #
a61af66fc99e Initial load
duke
parents:
diff changeset
6 # This code is free software; you can redistribute it and/or modify it
a61af66fc99e Initial load
duke
parents:
diff changeset
7 # under the terms of the GNU General Public License version 2 only, as
a61af66fc99e Initial load
duke
parents:
diff changeset
8 # published by the Free Software Foundation.
a61af66fc99e Initial load
duke
parents:
diff changeset
9 #
a61af66fc99e Initial load
duke
parents:
diff changeset
10 # This code is distributed in the hope that it will be useful, but WITHOUT
a61af66fc99e Initial load
duke
parents:
diff changeset
11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
a61af66fc99e Initial load
duke
parents:
diff changeset
12 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
a61af66fc99e Initial load
duke
parents:
diff changeset
13 # version 2 for more details (a copy is included in the LICENSE file that
a61af66fc99e Initial load
duke
parents:
diff changeset
14 # accompanied this code).
a61af66fc99e Initial load
duke
parents:
diff changeset
15 #
a61af66fc99e Initial load
duke
parents:
diff changeset
16 # You should have received a copy of the GNU General Public License version
a61af66fc99e Initial load
duke
parents:
diff changeset
17 # 2 along with this work; if not, write to the Free Software Foundation,
a61af66fc99e Initial load
duke
parents:
diff changeset
18 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
a61af66fc99e Initial load
duke
parents:
diff changeset
19 #
a61af66fc99e Initial load
duke
parents:
diff changeset
20 # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
a61af66fc99e Initial load
duke
parents:
diff changeset
21 # CA 95054 USA or visit www.sun.com if you need additional information or
a61af66fc99e Initial load
duke
parents:
diff changeset
22 # have any questions.
a61af66fc99e Initial load
duke
parents:
diff changeset
23 #
a61af66fc99e Initial load
duke
parents:
diff changeset
24 #
a61af66fc99e Initial load
duke
parents:
diff changeset
25
a61af66fc99e Initial load
duke
parents:
diff changeset
26 #############################################################################
a61af66fc99e Initial load
duke
parents:
diff changeset
27 # Error
a61af66fc99e Initial load
duke
parents:
diff changeset
28 error() # message
a61af66fc99e Initial load
duke
parents:
diff changeset
29 {
a61af66fc99e Initial load
duke
parents:
diff changeset
30 echo "ERROR: $1"
a61af66fc99e Initial load
duke
parents:
diff changeset
31 exit 6
a61af66fc99e Initial load
duke
parents:
diff changeset
32 }
a61af66fc99e Initial load
duke
parents:
diff changeset
33 # Directory must exist
a61af66fc99e Initial load
duke
parents:
diff changeset
34 dirMustExist() # dir name
a61af66fc99e Initial load
duke
parents:
diff changeset
35 {
a61af66fc99e Initial load
duke
parents:
diff changeset
36 if [ ! -d "$1" ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
37 error "Directory for $2 does not exist: $1"
a61af66fc99e Initial load
duke
parents:
diff changeset
38 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
39 }
a61af66fc99e Initial load
duke
parents:
diff changeset
40 # File must exist
a61af66fc99e Initial load
duke
parents:
diff changeset
41 fileMustExist() # dir name
a61af66fc99e Initial load
duke
parents:
diff changeset
42 {
a61af66fc99e Initial load
duke
parents:
diff changeset
43 if [ ! -f "$1" ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
44 error "File for $2 does not exist: $1"
a61af66fc99e Initial load
duke
parents:
diff changeset
45 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
46 }
a61af66fc99e Initial load
duke
parents:
diff changeset
47 #############################################################################
a61af66fc99e Initial load
duke
parents:
diff changeset
48
a61af66fc99e Initial load
duke
parents:
diff changeset
49 # Should be set by JPRT as the 3 basic inputs
a61af66fc99e Initial load
duke
parents:
diff changeset
50 bootdir="${ALT_BOOTDIR}"
a61af66fc99e Initial load
duke
parents:
diff changeset
51 slashjava="${ALT_SLASH_JAVA}"
a61af66fc99e Initial load
duke
parents:
diff changeset
52 jdk_import="${ALT_JDK_IMPORT_PATH}"
a61af66fc99e Initial load
duke
parents:
diff changeset
53
a61af66fc99e Initial load
duke
parents:
diff changeset
54 # Check input
a61af66fc99e Initial load
duke
parents:
diff changeset
55 dirMustExist "${bootdir}" ALT_BOOTDIR
a61af66fc99e Initial load
duke
parents:
diff changeset
56 dirMustExist "${slashjava}" ALT_SLASH_JAVA
a61af66fc99e Initial load
duke
parents:
diff changeset
57 dirMustExist "${jdk_import}" ALT_JDK_IMPORT_PATH
a61af66fc99e Initial load
duke
parents:
diff changeset
58
a61af66fc99e Initial load
duke
parents:
diff changeset
59 # Uses 'uname -s', but only expect SunOS or Linux, assume Windows otherwise.
a61af66fc99e Initial load
duke
parents:
diff changeset
60 osname=`uname -s`
a61af66fc99e Initial load
duke
parents:
diff changeset
61 if [ "${osname}" = SunOS ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
62
a61af66fc99e Initial load
duke
parents:
diff changeset
63 # SOLARIS: Sparc or X86
a61af66fc99e Initial load
duke
parents:
diff changeset
64 osarch=`uname -p`
a61af66fc99e Initial load
duke
parents:
diff changeset
65 if [ "${osarch}" = sparc ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
66 solaris_arch=sparc
a61af66fc99e Initial load
duke
parents:
diff changeset
67 else
a61af66fc99e Initial load
duke
parents:
diff changeset
68 solaris_arch=i386
a61af66fc99e Initial load
duke
parents:
diff changeset
69 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
70
158
a49545cab84a 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 0
diff changeset
71 if [ "${JPRT_SOLARIS_COMPILER_NAME}" != "" ] ; then
a49545cab84a 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 0
diff changeset
72 compiler_name=${JPRT_SOLARIS_COMPILER_NAME}
a49545cab84a 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 0
diff changeset
73 else
a49545cab84a 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 0
diff changeset
74 if [ "${JPRT_JOB_PRODUCT_RELEASE}" = "jdk6" -o \
a49545cab84a 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 0
diff changeset
75 "${JPRT_JOB_PRODUCT_RELEASE}" = "jdk6u10" -o \
a49545cab84a 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 0
diff changeset
76 "${JPRT_JOB_PRODUCT_RELEASE}" = "jdk6perf" ] ; then
a49545cab84a 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 0
diff changeset
77 # All jdk6 builds use SS11
a49545cab84a 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 0
diff changeset
78 compiler_name=SS11
a49545cab84a 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 0
diff changeset
79 else
278
4852f4a82e58 6724668: Hotspot: Official change to Sun Studio 12 compilers on Solaris
ohair
parents: 196
diff changeset
80 compiler_name=SS12
158
a49545cab84a 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 0
diff changeset
81 fi
a49545cab84a 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 0
diff changeset
82 fi
a49545cab84a 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 0
diff changeset
83
a49545cab84a 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 0
diff changeset
84 # Get into path (make sure it matches ALT setting)
a49545cab84a 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 0
diff changeset
85 compiler_path=${slashjava}/devtools/${solaris_arch}/SUNWspro/${compiler_name}/bin
0
a61af66fc99e Initial load
duke
parents:
diff changeset
86 dirMustExist "${compiler_path}" COMPILER_PATH
a61af66fc99e Initial load
duke
parents:
diff changeset
87 path4sdk=${compiler_path}
a61af66fc99e Initial load
duke
parents:
diff changeset
88
a61af66fc99e Initial load
duke
parents:
diff changeset
89 # Add basic solaris system paths
a61af66fc99e Initial load
duke
parents:
diff changeset
90 path4sdk=${path4sdk}:/usr/ccs/bin:/usr/ccs/lib:/usr/bin:/bin:/usr/sfw/bin
a61af66fc99e Initial load
duke
parents:
diff changeset
91
a61af66fc99e Initial load
duke
parents:
diff changeset
92 # Get the previous JDK to be used to bootstrap the build
a61af66fc99e Initial load
duke
parents:
diff changeset
93 path4sdk=${bootdir}/bin:${path4sdk}
a61af66fc99e Initial load
duke
parents:
diff changeset
94
a61af66fc99e Initial load
duke
parents:
diff changeset
95 # Find GNU make
a61af66fc99e Initial load
duke
parents:
diff changeset
96 make=/usr/sfw/bin/gmake
a61af66fc99e Initial load
duke
parents:
diff changeset
97 if [ ! -f ${make} ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
98 make=/opt/sfw/bin/gmake
a61af66fc99e Initial load
duke
parents:
diff changeset
99 if [ ! -f ${make} ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
100 make=${slashjava}/devtools/${solaris_arch}/bin/gnumake
a61af66fc99e Initial load
duke
parents:
diff changeset
101 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
102 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
103 fileMustExist "${make}" make
a61af66fc99e Initial load
duke
parents:
diff changeset
104
a61af66fc99e Initial load
duke
parents:
diff changeset
105 # File creation mask
a61af66fc99e Initial load
duke
parents:
diff changeset
106 umask 002
a61af66fc99e Initial load
duke
parents:
diff changeset
107
a61af66fc99e Initial load
duke
parents:
diff changeset
108 elif [ "${osname}" = Linux ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
109
a61af66fc99e Initial load
duke
parents:
diff changeset
110 # LINUX: X86, AMD64
a61af66fc99e Initial load
duke
parents:
diff changeset
111 osarch=`uname -m`
a61af66fc99e Initial load
duke
parents:
diff changeset
112 if [ "${osarch}" = i686 ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
113 linux_arch=i586
a61af66fc99e Initial load
duke
parents:
diff changeset
114 elif [ "${osarch}" = x86_64 ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
115 linux_arch=amd64
a61af66fc99e Initial load
duke
parents:
diff changeset
116 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
117
a61af66fc99e Initial load
duke
parents:
diff changeset
118 # Get the compilers into path (make sure it matches ALT setting)
a61af66fc99e Initial load
duke
parents:
diff changeset
119 compiler_path=/usr/bin
a61af66fc99e Initial load
duke
parents:
diff changeset
120 dirMustExist "${compiler_path}" COMPILER_PATH
a61af66fc99e Initial load
duke
parents:
diff changeset
121 path4sdk=${compiler_path}
a61af66fc99e Initial load
duke
parents:
diff changeset
122
a61af66fc99e Initial load
duke
parents:
diff changeset
123 # Add basic paths
a61af66fc99e Initial load
duke
parents:
diff changeset
124 path4sdk=${path4sdk}:/usr/bin:/bin:/usr/sbin:/sbin
a61af66fc99e Initial load
duke
parents:
diff changeset
125
a61af66fc99e Initial load
duke
parents:
diff changeset
126 # Get the previous JDK to be used to bootstrap the build
a61af66fc99e Initial load
duke
parents:
diff changeset
127 path4sdk=${bootdir}/bin:${path4sdk}
a61af66fc99e Initial load
duke
parents:
diff changeset
128
a61af66fc99e Initial load
duke
parents:
diff changeset
129 # Find GNU make
a61af66fc99e Initial load
duke
parents:
diff changeset
130 make=/usr/bin/make
a61af66fc99e Initial load
duke
parents:
diff changeset
131 fileMustExist "${make}" make
a61af66fc99e Initial load
duke
parents:
diff changeset
132
a61af66fc99e Initial load
duke
parents:
diff changeset
133 umask 002
a61af66fc99e Initial load
duke
parents:
diff changeset
134
a61af66fc99e Initial load
duke
parents:
diff changeset
135 else
a61af66fc99e Initial load
duke
parents:
diff changeset
136
a61af66fc99e Initial load
duke
parents:
diff changeset
137 # Windows: Differs on CYGWIN vs. MKS, and the compiler available.
a61af66fc99e Initial load
duke
parents:
diff changeset
138 # Also, blanks in pathnames gives GNU make headaches, so anything placed
a61af66fc99e Initial load
duke
parents:
diff changeset
139 # in any ALT_* variable should be the short windows dosname.
a61af66fc99e Initial load
duke
parents:
diff changeset
140
a61af66fc99e Initial load
duke
parents:
diff changeset
141 # WINDOWS: Install and use MKS or CYGWIN (should have already been done)
a61af66fc99e Initial load
duke
parents:
diff changeset
142 # Assumption here is that you are in a shell window via MKS or cygwin.
a61af66fc99e Initial load
duke
parents:
diff changeset
143 # MKS install should have defined the environment variable ROOTDIR.
a61af66fc99e Initial load
duke
parents:
diff changeset
144 # We also need to figure out which one we have: X86, AMD64
a61af66fc99e Initial load
duke
parents:
diff changeset
145 if [ "`echo ${PROCESSOR_IDENTIFIER} | fgrep AMD64`" != "" ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
146 windows_arch=amd64
a61af66fc99e Initial load
duke
parents:
diff changeset
147 else
a61af66fc99e Initial load
duke
parents:
diff changeset
148 windows_arch=i586
a61af66fc99e Initial load
duke
parents:
diff changeset
149 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
150
a61af66fc99e Initial load
duke
parents:
diff changeset
151 # We need to determine if we are running a CYGWIN shell or an MKS shell
a61af66fc99e Initial load
duke
parents:
diff changeset
152 # (if uname isn't available, then it will be unix_toolset=unknown)
a61af66fc99e Initial load
duke
parents:
diff changeset
153 unix_toolset=unknown
a61af66fc99e Initial load
duke
parents:
diff changeset
154 if [ "`uname -a | fgrep Cygwin`" = "" -a -d "${ROOTDIR}" ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
155 # We kind of assume ROOTDIR is where MKS is and it's ok
a61af66fc99e Initial load
duke
parents:
diff changeset
156 unix_toolset=MKS
a61af66fc99e Initial load
duke
parents:
diff changeset
157 mkshome=`dosname -s "${ROOTDIR}"`
a61af66fc99e Initial load
duke
parents:
diff changeset
158 # Utility to convert to short pathnames without spaces
a61af66fc99e Initial load
duke
parents:
diff changeset
159 dosname="${mkshome}/mksnt/dosname -s"
a61af66fc99e Initial load
duke
parents:
diff changeset
160 # Most unix utilities are in the mksnt directory of ROOTDIR
a61af66fc99e Initial load
duke
parents:
diff changeset
161 unixcommand_path="${mkshome}/mksnt"
a61af66fc99e Initial load
duke
parents:
diff changeset
162 path4sdk="${unixcommand_path}"
a61af66fc99e Initial load
duke
parents:
diff changeset
163 dirMustExist "${unixcommand_path}" UNIXCOMMAND_PATH
a61af66fc99e Initial load
duke
parents:
diff changeset
164 devtools_path="${slashjava}/devtools/win32/bin"
a61af66fc99e Initial load
duke
parents:
diff changeset
165 path4sdk="${devtools_path};${path4sdk}"
a61af66fc99e Initial load
duke
parents:
diff changeset
166 dirMustExist "${devtools_path}" DEVTOOLS_PATH
a61af66fc99e Initial load
duke
parents:
diff changeset
167 # Find GNU make
a61af66fc99e Initial load
duke
parents:
diff changeset
168 make="${devtools_path}/gnumake.exe"
a61af66fc99e Initial load
duke
parents:
diff changeset
169 fileMustExist "${make}" make
a61af66fc99e Initial load
duke
parents:
diff changeset
170 elif [ "`uname -a | fgrep Cygwin`" != "" -a -f /bin/cygpath ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
171 # For CYGWIN, uname will have "Cygwin" in it, and /bin/cygpath should exist
a61af66fc99e Initial load
duke
parents:
diff changeset
172 unix_toolset=CYGWIN
a61af66fc99e Initial load
duke
parents:
diff changeset
173 # Utility to convert to short pathnames without spaces
a61af66fc99e Initial load
duke
parents:
diff changeset
174 dosname="/usr/bin/cygpath -a -m -s"
a61af66fc99e Initial load
duke
parents:
diff changeset
175 # Most unix utilities are in the /usr/bin
a61af66fc99e Initial load
duke
parents:
diff changeset
176 unixcommand_path="/usr/bin"
a61af66fc99e Initial load
duke
parents:
diff changeset
177 path4sdk="${unixcommand_path}"
a61af66fc99e Initial load
duke
parents:
diff changeset
178 dirMustExist "${unixcommand_path}" UNIXCOMMAND_PATH
a61af66fc99e Initial load
duke
parents:
diff changeset
179 # Find GNU make
a61af66fc99e Initial load
duke
parents:
diff changeset
180 make="${unixcommand_path}/make.exe"
a61af66fc99e Initial load
duke
parents:
diff changeset
181 fileMustExist "${make}" make
a61af66fc99e Initial load
duke
parents:
diff changeset
182 else
a61af66fc99e Initial load
duke
parents:
diff changeset
183 echo "WARNING: Cannot figure out if this is MKS or CYGWIN"
a61af66fc99e Initial load
duke
parents:
diff changeset
184 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
185
a61af66fc99e Initial load
duke
parents:
diff changeset
186 # WINDOWS: Compiler setup (nasty part)
a61af66fc99e Initial load
duke
parents:
diff changeset
187 # NOTE: You can use vcvars32.bat to set PATH, LIB, and INCLUDE.
a61af66fc99e Initial load
duke
parents:
diff changeset
188 # NOTE: CYGWIN has a link.exe too, make sure the compilers are first
a61af66fc99e Initial load
duke
parents:
diff changeset
189 if [ "${windows_arch}" = i586 ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
190 # 32bit Windows compiler settings
a61af66fc99e Initial load
duke
parents:
diff changeset
191 # VisualStudio .NET 2003 VC++ 7.1 (VS71COMNTOOLS should be defined)
a61af66fc99e Initial load
duke
parents:
diff changeset
192 vs_root=`${dosname} "${VS71COMNTOOLS}/../.."`
a61af66fc99e Initial load
duke
parents:
diff changeset
193 # Fill in PATH, LIB, and INCLUDE (unset all others to make sure)
a61af66fc99e Initial load
duke
parents:
diff changeset
194 vc7_root="${vs_root}/Vc7"
a61af66fc99e Initial load
duke
parents:
diff changeset
195 compiler_path="${vc7_root}/bin"
a61af66fc99e Initial load
duke
parents:
diff changeset
196 platform_sdk="${vc7_root}/PlatformSDK"
a61af66fc99e Initial load
duke
parents:
diff changeset
197 # LIB and INCLUDE must use ; as a separator
a61af66fc99e Initial load
duke
parents:
diff changeset
198 include4sdk="${vc7_root}/atlmfc/include"
a61af66fc99e Initial load
duke
parents:
diff changeset
199 include4sdk="${include4sdk};${vc7_root}/include"
a61af66fc99e Initial load
duke
parents:
diff changeset
200 include4sdk="${include4sdk};${platform_sdk}/include/prerelease"
a61af66fc99e Initial load
duke
parents:
diff changeset
201 include4sdk="${include4sdk};${platform_sdk}/include"
a61af66fc99e Initial load
duke
parents:
diff changeset
202 include4sdk="${include4sdk};${vs_root}/SDK/v1.1/include"
a61af66fc99e Initial load
duke
parents:
diff changeset
203 lib4sdk="${vc7_root}/atlmfc/lib"
a61af66fc99e Initial load
duke
parents:
diff changeset
204 lib4sdk="${lib4sdk};${vc7_root}/lib"
a61af66fc99e Initial load
duke
parents:
diff changeset
205 lib4sdk="${lib4sdk};${platform_sdk}/lib/prerelease"
a61af66fc99e Initial load
duke
parents:
diff changeset
206 lib4sdk="${lib4sdk};${platform_sdk}/lib"
a61af66fc99e Initial load
duke
parents:
diff changeset
207 lib4sdk="${lib4sdk};${vs_root}/SDK/v1.1/lib"
a61af66fc99e Initial load
duke
parents:
diff changeset
208 # Search path and DLL locating path
a61af66fc99e Initial load
duke
parents:
diff changeset
209 # WARNING: CYGWIN has a link.exe too, make sure compilers are first
a61af66fc99e Initial load
duke
parents:
diff changeset
210 path4sdk="${vs_root}/Common7/Tools/bin;${path4sdk}"
a61af66fc99e Initial load
duke
parents:
diff changeset
211 path4sdk="${vs_root}/SDK/v1.1/bin;${path4sdk}"
a61af66fc99e Initial load
duke
parents:
diff changeset
212 path4sdk="${vs_root}/Common7/Tools;${path4sdk}"
a61af66fc99e Initial load
duke
parents:
diff changeset
213 path4sdk="${vs_root}/Common7/Tools/bin/prerelease;${path4sdk}"
a61af66fc99e Initial load
duke
parents:
diff changeset
214 path4sdk="${vs_root}/Common7/IDE;${path4sdk}"
a61af66fc99e Initial load
duke
parents:
diff changeset
215 path4sdk="${compiler_path};${path4sdk}"
a61af66fc99e Initial load
duke
parents:
diff changeset
216 elif [ "${windows_arch}" = amd64 ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
217 # AMD64 64bit Windows compiler settings
a61af66fc99e Initial load
duke
parents:
diff changeset
218 if [ "${MSSDK}" != "" ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
219 platform_sdk="${MSSDK}"
a61af66fc99e Initial load
duke
parents:
diff changeset
220 else
a61af66fc99e Initial load
duke
parents:
diff changeset
221 platform_sdk=`${dosname} "C:/Program Files/Microsoft Platform SDK/"`
a61af66fc99e Initial load
duke
parents:
diff changeset
222 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
223 compiler_path="${platform_sdk}/Bin/win64/x86/AMD64"
a61af66fc99e Initial load
duke
parents:
diff changeset
224 # LIB and INCLUDE must use ; as a separator
a61af66fc99e Initial load
duke
parents:
diff changeset
225 include4sdk="${platform_sdk}/Include"
a61af66fc99e Initial load
duke
parents:
diff changeset
226 include4sdk="${include4sdk};${platform_sdk}/Include/crt/sys"
a61af66fc99e Initial load
duke
parents:
diff changeset
227 include4sdk="${include4sdk};${platform_sdk}/Include/mfc"
a61af66fc99e Initial load
duke
parents:
diff changeset
228 include4sdk="${include4sdk};${platform_sdk}/Include/atl"
a61af66fc99e Initial load
duke
parents:
diff changeset
229 include4sdk="${include4sdk};${platform_sdk}/Include/crt"
a61af66fc99e Initial load
duke
parents:
diff changeset
230 lib4sdk="${platform_sdk}/Lib/AMD64"
a61af66fc99e Initial load
duke
parents:
diff changeset
231 lib4sdk="${lib4sdk};${platform_sdk}/Lib/AMD64/atlmfc"
a61af66fc99e Initial load
duke
parents:
diff changeset
232 # Search path and DLL locating path
a61af66fc99e Initial load
duke
parents:
diff changeset
233 # WARNING: CYGWIN has a link.exe too, make sure compilers are first
a61af66fc99e Initial load
duke
parents:
diff changeset
234 path4sdk="${platform_sdk}/bin;${path4sdk}"
a61af66fc99e Initial load
duke
parents:
diff changeset
235 path4sdk="${compiler_path};${path4sdk}"
a61af66fc99e Initial load
duke
parents:
diff changeset
236 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
237 # Export LIB and INCLUDE
a61af66fc99e Initial load
duke
parents:
diff changeset
238 unset lib
a61af66fc99e Initial load
duke
parents:
diff changeset
239 unset Lib
a61af66fc99e Initial load
duke
parents:
diff changeset
240 LIB="${lib4sdk}"
a61af66fc99e Initial load
duke
parents:
diff changeset
241 export LIB
a61af66fc99e Initial load
duke
parents:
diff changeset
242 unset include
a61af66fc99e Initial load
duke
parents:
diff changeset
243 unset Include
a61af66fc99e Initial load
duke
parents:
diff changeset
244 INCLUDE="${include4sdk}"
a61af66fc99e Initial load
duke
parents:
diff changeset
245 export INCLUDE
a61af66fc99e Initial load
duke
parents:
diff changeset
246 # Set the ALT variable
a61af66fc99e Initial load
duke
parents:
diff changeset
247 dirMustExist "${compiler_path}" COMPILER_PATH
a61af66fc99e Initial load
duke
parents:
diff changeset
248
a61af66fc99e Initial load
duke
parents:
diff changeset
249 # WINDOWS: Get the previous JDK to be used to bootstrap the build
a61af66fc99e Initial load
duke
parents:
diff changeset
250 path4sdk="${bootdir}/bin;${path4sdk}"
a61af66fc99e Initial load
duke
parents:
diff changeset
251
a61af66fc99e Initial load
duke
parents:
diff changeset
252 # Turn all \\ into /, remove duplicates and trailing /
a61af66fc99e Initial load
duke
parents:
diff changeset
253 slash_path="`echo ${path4sdk} | sed -e 's@\\\\@/@g' -e 's@//@/@g' -e 's@/$@@' -e 's@/;@;@g'`"
a61af66fc99e Initial load
duke
parents:
diff changeset
254
a61af66fc99e Initial load
duke
parents:
diff changeset
255 # For windows, it's hard to know where the system is, so we just add this
a61af66fc99e Initial load
duke
parents:
diff changeset
256 # to PATH.
a61af66fc99e Initial load
duke
parents:
diff changeset
257 path4sdk="${slash_path};${PATH}"
a61af66fc99e Initial load
duke
parents:
diff changeset
258
a61af66fc99e Initial load
duke
parents:
diff changeset
259 # Convert path4sdk to cygwin style
a61af66fc99e Initial load
duke
parents:
diff changeset
260 if [ "${unix_toolset}" = CYGWIN ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
261 path4sdk="`/usr/bin/cygpath -p ${path4sdk}`"
a61af66fc99e Initial load
duke
parents:
diff changeset
262 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
263
a61af66fc99e Initial load
duke
parents:
diff changeset
264 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
265
a61af66fc99e Initial load
duke
parents:
diff changeset
266 # Export PATH setting
a61af66fc99e Initial load
duke
parents:
diff changeset
267 PATH="${path4sdk}"
a61af66fc99e Initial load
duke
parents:
diff changeset
268 export PATH
a61af66fc99e Initial load
duke
parents:
diff changeset
269
a61af66fc99e Initial load
duke
parents:
diff changeset
270 # Unset certain vars
a61af66fc99e Initial load
duke
parents:
diff changeset
271 unset LD_LIBRARY_PATH
a61af66fc99e Initial load
duke
parents:
diff changeset
272 unset LD_LIBRARY_PATH_32
a61af66fc99e Initial load
duke
parents:
diff changeset
273 unset LD_LIBRARY_PATH_64
a61af66fc99e Initial load
duke
parents:
diff changeset
274