annotate make/jprt.config @ 158:a49545cab84a

6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles) Summary: Allows for building with SS12, no longer requires SS11, warns if not SS11 for now. Once SS12 is validated and performance measurements look ok, SS12 will be the validated compiler. Reviewed-by: sspitsyn, ikrylov
author ohair
date Tue, 27 May 2008 09:47:18 -0700
parents a61af66fc99e
children d1605aabd0a1
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 #
a61af66fc99e Initial load
duke
parents:
diff changeset
3 # Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
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
a49545cab84a 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 0
diff changeset
80 # FIXUP: Change to SS12 once it has been validated.
a49545cab84a 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 0
diff changeset
81 #compiler_name=SS12
a49545cab84a 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 0
diff changeset
82 compiler_name=SS11
a49545cab84a 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 0
diff changeset
83 fi
a49545cab84a 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 0
diff changeset
84 fi
a49545cab84a 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 0
diff changeset
85
a49545cab84a 6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents: 0
diff changeset
86 # 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
87 compiler_path=${slashjava}/devtools/${solaris_arch}/SUNWspro/${compiler_name}/bin
0
a61af66fc99e Initial load
duke
parents:
diff changeset
88 dirMustExist "${compiler_path}" COMPILER_PATH
a61af66fc99e Initial load
duke
parents:
diff changeset
89 path4sdk=${compiler_path}
a61af66fc99e Initial load
duke
parents:
diff changeset
90
a61af66fc99e Initial load
duke
parents:
diff changeset
91 # Add basic solaris system paths
a61af66fc99e Initial load
duke
parents:
diff changeset
92 path4sdk=${path4sdk}:/usr/ccs/bin:/usr/ccs/lib:/usr/bin:/bin:/usr/sfw/bin
a61af66fc99e Initial load
duke
parents:
diff changeset
93
a61af66fc99e Initial load
duke
parents:
diff changeset
94 # Get the previous JDK to be used to bootstrap the build
a61af66fc99e Initial load
duke
parents:
diff changeset
95 path4sdk=${bootdir}/bin:${path4sdk}
a61af66fc99e Initial load
duke
parents:
diff changeset
96
a61af66fc99e Initial load
duke
parents:
diff changeset
97 # Find GNU make
a61af66fc99e Initial load
duke
parents:
diff changeset
98 make=/usr/sfw/bin/gmake
a61af66fc99e Initial load
duke
parents:
diff changeset
99 if [ ! -f ${make} ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
100 make=/opt/sfw/bin/gmake
a61af66fc99e Initial load
duke
parents:
diff changeset
101 if [ ! -f ${make} ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
102 make=${slashjava}/devtools/${solaris_arch}/bin/gnumake
a61af66fc99e Initial load
duke
parents:
diff changeset
103 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
104 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
105 fileMustExist "${make}" make
a61af66fc99e Initial load
duke
parents:
diff changeset
106
a61af66fc99e Initial load
duke
parents:
diff changeset
107 # File creation mask
a61af66fc99e Initial load
duke
parents:
diff changeset
108 umask 002
a61af66fc99e Initial load
duke
parents:
diff changeset
109
a61af66fc99e Initial load
duke
parents:
diff changeset
110 elif [ "${osname}" = Linux ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
111
a61af66fc99e Initial load
duke
parents:
diff changeset
112 # LINUX: X86, AMD64
a61af66fc99e Initial load
duke
parents:
diff changeset
113 osarch=`uname -m`
a61af66fc99e Initial load
duke
parents:
diff changeset
114 if [ "${osarch}" = i686 ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
115 linux_arch=i586
a61af66fc99e Initial load
duke
parents:
diff changeset
116 elif [ "${osarch}" = x86_64 ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
117 linux_arch=amd64
a61af66fc99e Initial load
duke
parents:
diff changeset
118 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
119
a61af66fc99e Initial load
duke
parents:
diff changeset
120 # Get the compilers into path (make sure it matches ALT setting)
a61af66fc99e Initial load
duke
parents:
diff changeset
121 compiler_path=/usr/bin
a61af66fc99e Initial load
duke
parents:
diff changeset
122 dirMustExist "${compiler_path}" COMPILER_PATH
a61af66fc99e Initial load
duke
parents:
diff changeset
123 path4sdk=${compiler_path}
a61af66fc99e Initial load
duke
parents:
diff changeset
124
a61af66fc99e Initial load
duke
parents:
diff changeset
125 # Add basic paths
a61af66fc99e Initial load
duke
parents:
diff changeset
126 path4sdk=${path4sdk}:/usr/bin:/bin:/usr/sbin:/sbin
a61af66fc99e Initial load
duke
parents:
diff changeset
127
a61af66fc99e Initial load
duke
parents:
diff changeset
128 # Get the previous JDK to be used to bootstrap the build
a61af66fc99e Initial load
duke
parents:
diff changeset
129 path4sdk=${bootdir}/bin:${path4sdk}
a61af66fc99e Initial load
duke
parents:
diff changeset
130
a61af66fc99e Initial load
duke
parents:
diff changeset
131 # Find GNU make
a61af66fc99e Initial load
duke
parents:
diff changeset
132 make=/usr/bin/make
a61af66fc99e Initial load
duke
parents:
diff changeset
133 fileMustExist "${make}" make
a61af66fc99e Initial load
duke
parents:
diff changeset
134
a61af66fc99e Initial load
duke
parents:
diff changeset
135 umask 002
a61af66fc99e Initial load
duke
parents:
diff changeset
136
a61af66fc99e Initial load
duke
parents:
diff changeset
137 else
a61af66fc99e Initial load
duke
parents:
diff changeset
138
a61af66fc99e Initial load
duke
parents:
diff changeset
139 # Windows: Differs on CYGWIN vs. MKS, and the compiler available.
a61af66fc99e Initial load
duke
parents:
diff changeset
140 # Also, blanks in pathnames gives GNU make headaches, so anything placed
a61af66fc99e Initial load
duke
parents:
diff changeset
141 # in any ALT_* variable should be the short windows dosname.
a61af66fc99e Initial load
duke
parents:
diff changeset
142
a61af66fc99e Initial load
duke
parents:
diff changeset
143 # WINDOWS: Install and use MKS or CYGWIN (should have already been done)
a61af66fc99e Initial load
duke
parents:
diff changeset
144 # Assumption here is that you are in a shell window via MKS or cygwin.
a61af66fc99e Initial load
duke
parents:
diff changeset
145 # MKS install should have defined the environment variable ROOTDIR.
a61af66fc99e Initial load
duke
parents:
diff changeset
146 # We also need to figure out which one we have: X86, AMD64
a61af66fc99e Initial load
duke
parents:
diff changeset
147 if [ "`echo ${PROCESSOR_IDENTIFIER} | fgrep AMD64`" != "" ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
148 windows_arch=amd64
a61af66fc99e Initial load
duke
parents:
diff changeset
149 else
a61af66fc99e Initial load
duke
parents:
diff changeset
150 windows_arch=i586
a61af66fc99e Initial load
duke
parents:
diff changeset
151 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
152
a61af66fc99e Initial load
duke
parents:
diff changeset
153 # We need to determine if we are running a CYGWIN shell or an MKS shell
a61af66fc99e Initial load
duke
parents:
diff changeset
154 # (if uname isn't available, then it will be unix_toolset=unknown)
a61af66fc99e Initial load
duke
parents:
diff changeset
155 unix_toolset=unknown
a61af66fc99e Initial load
duke
parents:
diff changeset
156 if [ "`uname -a | fgrep Cygwin`" = "" -a -d "${ROOTDIR}" ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
157 # We kind of assume ROOTDIR is where MKS is and it's ok
a61af66fc99e Initial load
duke
parents:
diff changeset
158 unix_toolset=MKS
a61af66fc99e Initial load
duke
parents:
diff changeset
159 mkshome=`dosname -s "${ROOTDIR}"`
a61af66fc99e Initial load
duke
parents:
diff changeset
160 # Utility to convert to short pathnames without spaces
a61af66fc99e Initial load
duke
parents:
diff changeset
161 dosname="${mkshome}/mksnt/dosname -s"
a61af66fc99e Initial load
duke
parents:
diff changeset
162 # Most unix utilities are in the mksnt directory of ROOTDIR
a61af66fc99e Initial load
duke
parents:
diff changeset
163 unixcommand_path="${mkshome}/mksnt"
a61af66fc99e Initial load
duke
parents:
diff changeset
164 path4sdk="${unixcommand_path}"
a61af66fc99e Initial load
duke
parents:
diff changeset
165 dirMustExist "${unixcommand_path}" UNIXCOMMAND_PATH
a61af66fc99e Initial load
duke
parents:
diff changeset
166 devtools_path="${slashjava}/devtools/win32/bin"
a61af66fc99e Initial load
duke
parents:
diff changeset
167 path4sdk="${devtools_path};${path4sdk}"
a61af66fc99e Initial load
duke
parents:
diff changeset
168 dirMustExist "${devtools_path}" DEVTOOLS_PATH
a61af66fc99e Initial load
duke
parents:
diff changeset
169 # Find GNU make
a61af66fc99e Initial load
duke
parents:
diff changeset
170 make="${devtools_path}/gnumake.exe"
a61af66fc99e Initial load
duke
parents:
diff changeset
171 fileMustExist "${make}" make
a61af66fc99e Initial load
duke
parents:
diff changeset
172 elif [ "`uname -a | fgrep Cygwin`" != "" -a -f /bin/cygpath ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
173 # For CYGWIN, uname will have "Cygwin" in it, and /bin/cygpath should exist
a61af66fc99e Initial load
duke
parents:
diff changeset
174 unix_toolset=CYGWIN
a61af66fc99e Initial load
duke
parents:
diff changeset
175 # Utility to convert to short pathnames without spaces
a61af66fc99e Initial load
duke
parents:
diff changeset
176 dosname="/usr/bin/cygpath -a -m -s"
a61af66fc99e Initial load
duke
parents:
diff changeset
177 # Most unix utilities are in the /usr/bin
a61af66fc99e Initial load
duke
parents:
diff changeset
178 unixcommand_path="/usr/bin"
a61af66fc99e Initial load
duke
parents:
diff changeset
179 path4sdk="${unixcommand_path}"
a61af66fc99e Initial load
duke
parents:
diff changeset
180 dirMustExist "${unixcommand_path}" UNIXCOMMAND_PATH
a61af66fc99e Initial load
duke
parents:
diff changeset
181 # Find GNU make
a61af66fc99e Initial load
duke
parents:
diff changeset
182 make="${unixcommand_path}/make.exe"
a61af66fc99e Initial load
duke
parents:
diff changeset
183 fileMustExist "${make}" make
a61af66fc99e Initial load
duke
parents:
diff changeset
184 else
a61af66fc99e Initial load
duke
parents:
diff changeset
185 echo "WARNING: Cannot figure out if this is MKS or CYGWIN"
a61af66fc99e Initial load
duke
parents:
diff changeset
186 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
187
a61af66fc99e Initial load
duke
parents:
diff changeset
188 # WINDOWS: Compiler setup (nasty part)
a61af66fc99e Initial load
duke
parents:
diff changeset
189 # NOTE: You can use vcvars32.bat to set PATH, LIB, and INCLUDE.
a61af66fc99e Initial load
duke
parents:
diff changeset
190 # NOTE: CYGWIN has a link.exe too, make sure the compilers are first
a61af66fc99e Initial load
duke
parents:
diff changeset
191 if [ "${windows_arch}" = i586 ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
192 # 32bit Windows compiler settings
a61af66fc99e Initial load
duke
parents:
diff changeset
193 # VisualStudio .NET 2003 VC++ 7.1 (VS71COMNTOOLS should be defined)
a61af66fc99e Initial load
duke
parents:
diff changeset
194 vs_root=`${dosname} "${VS71COMNTOOLS}/../.."`
a61af66fc99e Initial load
duke
parents:
diff changeset
195 # Fill in PATH, LIB, and INCLUDE (unset all others to make sure)
a61af66fc99e Initial load
duke
parents:
diff changeset
196 vc7_root="${vs_root}/Vc7"
a61af66fc99e Initial load
duke
parents:
diff changeset
197 compiler_path="${vc7_root}/bin"
a61af66fc99e Initial load
duke
parents:
diff changeset
198 platform_sdk="${vc7_root}/PlatformSDK"
a61af66fc99e Initial load
duke
parents:
diff changeset
199 # LIB and INCLUDE must use ; as a separator
a61af66fc99e Initial load
duke
parents:
diff changeset
200 include4sdk="${vc7_root}/atlmfc/include"
a61af66fc99e Initial load
duke
parents:
diff changeset
201 include4sdk="${include4sdk};${vc7_root}/include"
a61af66fc99e Initial load
duke
parents:
diff changeset
202 include4sdk="${include4sdk};${platform_sdk}/include/prerelease"
a61af66fc99e Initial load
duke
parents:
diff changeset
203 include4sdk="${include4sdk};${platform_sdk}/include"
a61af66fc99e Initial load
duke
parents:
diff changeset
204 include4sdk="${include4sdk};${vs_root}/SDK/v1.1/include"
a61af66fc99e Initial load
duke
parents:
diff changeset
205 lib4sdk="${vc7_root}/atlmfc/lib"
a61af66fc99e Initial load
duke
parents:
diff changeset
206 lib4sdk="${lib4sdk};${vc7_root}/lib"
a61af66fc99e Initial load
duke
parents:
diff changeset
207 lib4sdk="${lib4sdk};${platform_sdk}/lib/prerelease"
a61af66fc99e Initial load
duke
parents:
diff changeset
208 lib4sdk="${lib4sdk};${platform_sdk}/lib"
a61af66fc99e Initial load
duke
parents:
diff changeset
209 lib4sdk="${lib4sdk};${vs_root}/SDK/v1.1/lib"
a61af66fc99e Initial load
duke
parents:
diff changeset
210 # Search path and DLL locating path
a61af66fc99e Initial load
duke
parents:
diff changeset
211 # WARNING: CYGWIN has a link.exe too, make sure compilers are first
a61af66fc99e Initial load
duke
parents:
diff changeset
212 path4sdk="${vs_root}/Common7/Tools/bin;${path4sdk}"
a61af66fc99e Initial load
duke
parents:
diff changeset
213 path4sdk="${vs_root}/SDK/v1.1/bin;${path4sdk}"
a61af66fc99e Initial load
duke
parents:
diff changeset
214 path4sdk="${vs_root}/Common7/Tools;${path4sdk}"
a61af66fc99e Initial load
duke
parents:
diff changeset
215 path4sdk="${vs_root}/Common7/Tools/bin/prerelease;${path4sdk}"
a61af66fc99e Initial load
duke
parents:
diff changeset
216 path4sdk="${vs_root}/Common7/IDE;${path4sdk}"
a61af66fc99e Initial load
duke
parents:
diff changeset
217 path4sdk="${compiler_path};${path4sdk}"
a61af66fc99e Initial load
duke
parents:
diff changeset
218 elif [ "${windows_arch}" = amd64 ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
219 # AMD64 64bit Windows compiler settings
a61af66fc99e Initial load
duke
parents:
diff changeset
220 if [ "${MSSDK}" != "" ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
221 platform_sdk="${MSSDK}"
a61af66fc99e Initial load
duke
parents:
diff changeset
222 else
a61af66fc99e Initial load
duke
parents:
diff changeset
223 platform_sdk=`${dosname} "C:/Program Files/Microsoft Platform SDK/"`
a61af66fc99e Initial load
duke
parents:
diff changeset
224 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
225 compiler_path="${platform_sdk}/Bin/win64/x86/AMD64"
a61af66fc99e Initial load
duke
parents:
diff changeset
226 # LIB and INCLUDE must use ; as a separator
a61af66fc99e Initial load
duke
parents:
diff changeset
227 include4sdk="${platform_sdk}/Include"
a61af66fc99e Initial load
duke
parents:
diff changeset
228 include4sdk="${include4sdk};${platform_sdk}/Include/crt/sys"
a61af66fc99e Initial load
duke
parents:
diff changeset
229 include4sdk="${include4sdk};${platform_sdk}/Include/mfc"
a61af66fc99e Initial load
duke
parents:
diff changeset
230 include4sdk="${include4sdk};${platform_sdk}/Include/atl"
a61af66fc99e Initial load
duke
parents:
diff changeset
231 include4sdk="${include4sdk};${platform_sdk}/Include/crt"
a61af66fc99e Initial load
duke
parents:
diff changeset
232 lib4sdk="${platform_sdk}/Lib/AMD64"
a61af66fc99e Initial load
duke
parents:
diff changeset
233 lib4sdk="${lib4sdk};${platform_sdk}/Lib/AMD64/atlmfc"
a61af66fc99e Initial load
duke
parents:
diff changeset
234 # Search path and DLL locating path
a61af66fc99e Initial load
duke
parents:
diff changeset
235 # WARNING: CYGWIN has a link.exe too, make sure compilers are first
a61af66fc99e Initial load
duke
parents:
diff changeset
236 path4sdk="${platform_sdk}/bin;${path4sdk}"
a61af66fc99e Initial load
duke
parents:
diff changeset
237 path4sdk="${compiler_path};${path4sdk}"
a61af66fc99e Initial load
duke
parents:
diff changeset
238 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
239 # Export LIB and INCLUDE
a61af66fc99e Initial load
duke
parents:
diff changeset
240 unset lib
a61af66fc99e Initial load
duke
parents:
diff changeset
241 unset Lib
a61af66fc99e Initial load
duke
parents:
diff changeset
242 LIB="${lib4sdk}"
a61af66fc99e Initial load
duke
parents:
diff changeset
243 export LIB
a61af66fc99e Initial load
duke
parents:
diff changeset
244 unset include
a61af66fc99e Initial load
duke
parents:
diff changeset
245 unset Include
a61af66fc99e Initial load
duke
parents:
diff changeset
246 INCLUDE="${include4sdk}"
a61af66fc99e Initial load
duke
parents:
diff changeset
247 export INCLUDE
a61af66fc99e Initial load
duke
parents:
diff changeset
248 # Set the ALT variable
a61af66fc99e Initial load
duke
parents:
diff changeset
249 dirMustExist "${compiler_path}" COMPILER_PATH
a61af66fc99e Initial load
duke
parents:
diff changeset
250
a61af66fc99e Initial load
duke
parents:
diff changeset
251 # WINDOWS: Get the previous JDK to be used to bootstrap the build
a61af66fc99e Initial load
duke
parents:
diff changeset
252 path4sdk="${bootdir}/bin;${path4sdk}"
a61af66fc99e Initial load
duke
parents:
diff changeset
253
a61af66fc99e Initial load
duke
parents:
diff changeset
254 # Turn all \\ into /, remove duplicates and trailing /
a61af66fc99e Initial load
duke
parents:
diff changeset
255 slash_path="`echo ${path4sdk} | sed -e 's@\\\\@/@g' -e 's@//@/@g' -e 's@/$@@' -e 's@/;@;@g'`"
a61af66fc99e Initial load
duke
parents:
diff changeset
256
a61af66fc99e Initial load
duke
parents:
diff changeset
257 # For windows, it's hard to know where the system is, so we just add this
a61af66fc99e Initial load
duke
parents:
diff changeset
258 # to PATH.
a61af66fc99e Initial load
duke
parents:
diff changeset
259 path4sdk="${slash_path};${PATH}"
a61af66fc99e Initial load
duke
parents:
diff changeset
260
a61af66fc99e Initial load
duke
parents:
diff changeset
261 # Convert path4sdk to cygwin style
a61af66fc99e Initial load
duke
parents:
diff changeset
262 if [ "${unix_toolset}" = CYGWIN ] ; then
a61af66fc99e Initial load
duke
parents:
diff changeset
263 path4sdk="`/usr/bin/cygpath -p ${path4sdk}`"
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 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
267
a61af66fc99e Initial load
duke
parents:
diff changeset
268 # Export PATH setting
a61af66fc99e Initial load
duke
parents:
diff changeset
269 PATH="${path4sdk}"
a61af66fc99e Initial load
duke
parents:
diff changeset
270 export PATH
a61af66fc99e Initial load
duke
parents:
diff changeset
271
a61af66fc99e Initial load
duke
parents:
diff changeset
272 # Unset certain vars
a61af66fc99e Initial load
duke
parents:
diff changeset
273 unset LD_LIBRARY_PATH
a61af66fc99e Initial load
duke
parents:
diff changeset
274 unset LD_LIBRARY_PATH_32
a61af66fc99e Initial load
duke
parents:
diff changeset
275 unset LD_LIBRARY_PATH_64
a61af66fc99e Initial load
duke
parents:
diff changeset
276