blob: 250604136bc3141a57fc737d75610d51b10dc64b [file] [log] [blame]
J. Duke319a3b92007-12-01 00:00:00 +00001#
2# Copyright 2005-2007 Sun Microsystems, Inc. All Rights Reserved.
3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#
5# This code is free software; you can redistribute it and/or modify it
6# under the terms of the GNU General Public License version 2 only, as
7# published by the Free Software Foundation. Sun designates this
8# particular file as subject to the "Classpath" exception as provided
9# by Sun in the LICENSE file that accompanied this code.
10#
11# This code is distributed in the hope that it will be useful, but WITHOUT
12# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14# version 2 for more details (a copy is included in the LICENSE file that
15# accompanied this code).
16#
17# You should have received a copy of the GNU General Public License version
18# 2 along with this work; if not, write to the Free Software Foundation,
19# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20#
21# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22# CA 95054 USA or visit www.sun.com if you need additional information or
23# have any questions.
24#
25
26#
27# Definitions for Windows.
28#
29
30# Default for COMPILER_WARNINGS_FATAL on Windows (C++ compiler warnings)
31# Level: Default is 3, 0 means none, 4 is the most but may be unreliable
32# Some makefiles may have set this to 0 to turn off warnings completely,
33# which also effectively creates a COMPILER_WARNINGS_FATAL=false situation.
34# Program.gmk may turn this down to 2 (building .exe's).
35# Windows 64bit platforms are less likely to be warning free.
36# Historically, Windows 32bit builds should be mostly warning free.
37ifndef COMPILER_WARNING_LEVEL
38 COMPILER_WARNING_LEVEL=3
39endif
40ifndef COMPILER_WARNINGS_FATAL
41 COMPILER_WARNINGS_FATAL=false
42endif
43
44# Windows should use parallel compilation for best build times
45ifndef COMPILE_APPROACH
46 COMPILE_APPROACH = normal
47endif
48
49# Indication that we are doing an incremental build.
50# This may trigger the creation of make depend files.
51# (This may not be working on windows yet, always force to false.)
52override INCREMENTAL_BUILD = false
53
54# WARNING: This is extremely touch stuff, between CYGWIN vs. MKS and all
55# variations of MKS and CYGWIN releases, and 32bit vs 64bit,
56# this file can give you nightmares.
57#
58# Notes:
59# Keep all paths in the windows "mixed" style except CYGWIN UNXIXCOMMAND_PATH.
60# Use of PrefixPath is critical, some variables must end with / (see NOTE).
61# Use of quotes is critical due to possible spaces in paths coming from
62# the environment variables, be careful.
63# First convert \ to / with subst, keep it quoted due to blanks, then
64# use cygpath -s or dosname -s to get the short non-blank name.
65# If the MKS is old and doesn't have a dosname -s, you will be forced
66# to set ALT variables with the short non-space directory names.
67# If dosname doesn't appear to work, we won't use it.
68# The dosname utility also wants to accept stdin if it is not supplied
69# any path on the command line, this is really dangerous when using
70# make variables that can easily become empty, so I use:
71# echo $1 | dosname -s instead of dosname -s $1
72# to prevent dosname from hanging up the make process when $1 is empty.
73# The cygpath utility does not have this problem.
74# The ALT values should never really have spaces or use \.
75# Suspect these environment variables to have spaces and/or \ characters:
76# SYSTEMROOT, SystemRoot, WINDIR, windir, PROGRAMFILES, ProgramFiles,
77# DXSDK_DIR, MSTOOLS, Mstools, MSSDK, MSSdk, VC71COMNTOOLS,
78# MSVCDIR, MSVCDir.
79# So use $(subst \,/,) on them first adding quotes and placing them in
80# their own variable assigned with :=, then use FullPath.
81#
82
83# Use FullPath to get C:/ style non-spaces path. Never ends with a /!
84ifdef USING_CYGWIN
85# We assume cygpath is available in the search path
86# NOTE: Use of 'pwd' with CYGWIN will not get you a mixed style path!
87CYGPATH_CMD=cygpath -a -s -m
88define FullPath
89$(shell $(CYGPATH_CMD) $1 2> $(DEV_NULL))
90endef
91define OptFullPath
92$(shell if [ "$1" != "" -a -d "$1" ]; then $(CYGPATH_CMD) "$1"; else echo "$1"; fi)
93endef
94else
95# Temporary until we upgrade to MKS 8.7, MKS pwd returns mixed mode path
96define FullPath
97$(shell cd $1 2> $(DEV_NULL) && pwd)
98endef
99define OptFullPath
100$(shell if [ "$1" != "" -a -d "$1" ]; then (cd $1 && pwd); else echo "$1"; fi)
101endef
102endif
103
104# System drive
105ifdef SYSTEMDRIVE
106 _system_drive =$(SYSTEMDRIVE)
107else
108 ifdef SystemDrive
109 _system_drive =$(SystemDrive)
110 endif
111endif
112_system_drive:=$(call CheckValue,_system_drive,C:)
113
114# UNIXCOMMAND_PATH: path to where the most common Unix commands are.
115# NOTE: Must end with / so that it could be empty, allowing PATH usage.
116ifdef ALT_UNIXCOMMAND_PATH
117 xALT_UNIXCOMMAND_PATH :="$(subst \,/,$(ALT_UNIXCOMMAND_PATH))"
118 fxALT_UNIXCOMMAND_PATH :=$(call FullPath,$(xALT_UNIXCOMMAND_PATH))
119 UNIXCOMMAND_PATH :=$(call PrefixPath,$(fxALT_UNIXCOMMAND_PATH))
120else
121 ifdef USING_CYGWIN
122 UNIXCOMMAND_PATH :=$(call PrefixPath,/usr/bin)
123 else
124 ifdef ROOTDIR
125 xROOTDIR :="$(subst \,/,$(ROOTDIR))"
126 _rootdir :=$(call FullPath,$(xROOTDIR))
127 else
128 xROOTDIR :="$(_system_drive)/mksnt"
129 _rootdir :=$(call FullPath,$(xROOTDIR))
130 endif
131 ifneq ($(_rootdir),)
132 UNIXCOMMAND_PATH :=$(call PrefixPath,$(_rootdir)/mksnt)
133 endif
134 endif
135endif
136UNIXCOMMAND_PATH:=$(call AltCheckSpaces,UNIXCOMMAND_PATH)
137
138# Get version of MKS or CYGWIN
139ifdef USING_CYGWIN
140_CYGWIN_VER :=$(shell $(UNAME))
141CYGWIN_VER :=$(call GetVersion,$(_CYGWIN_VER))
142else # MKS
143_MKS_VER :=$(shell $(MKSINFO) 2>&1 | $(GREP) Release | $(TAIL) -1 | $(SED) -e 's@.*\(Release.*\)@\1@')
144MKS_VER :=$(call GetVersion,$(_MKS_VER))
145# At this point, we can re-define FullPath to use DOSNAME_CMD
146CHECK_MKS87:=$(call CheckVersions,$(MKS_VER),8.7)
147TRY_DOSNAME:=false
148ifeq ($(CHECK_MKS87),same)
149TRY_DOSNAME:=true
150endif
151# Newer should be ok
152ifeq ($(CHECK_MKS87),newer)
153TRY_DOSNAME:=true
154endif
155ifeq ($(TRY_DOSNAME),true)
156ifeq ($(shell $(UNIXCOMMAND_PATH)dosname -s $(_system_drive)/ 2> $(DEV_NULL)),$(_system_drive)/)
157_DOSNAME=$(UNIXCOMMAND_PATH)dosname
158DOSNAME_CMD:=$(_DOSNAME) -s
159define FullPath
160$(subst //,/,$(shell echo $1 | $(DOSNAME_CMD) 2> $(DEV_NULL)))
161endef
162endif # test dosname -s
163endif # TRY_DOSNAME
164endif # MKS
165
166# We try to get references to what we need via the default component
167# environment variables, or what was used historically.
168
169# Process Windows values into FullPath values, these paths may have \ chars
170
171# System root
172ifdef SYSTEMROOT
173 xSYSTEMROOT :="$(subst \,/,$(SYSTEMROOT))"
174 _system_root :=$(call FullPath,$(xSYSTEMROOT))
175else
176 ifdef SystemRoot
177 xSYSTEMROOT :="$(subst \,/,$(SystemRoot))"
178 _system_root :=$(call FullPath,$(xSYSTEMROOT))
179 else
180 ifdef WINDIR
181 xWINDIR :="$(subst \,/,$(WINDIR))"
182 _system_root :=$(call FullPath,$(xWINDIR))
183 else
184 ifdef windir
185 xWINDIR :="$(subst \,/,$(windir))"
186 _system_root :=$(call FullPath,$(xWINDIR))
187 endif
188 endif
189 endif
190endif
191_system_root:=$(call CheckValue,_system_root,$(_system_drive)/WINNT)
192
193# Program Files directory
194ifdef PROGRAMFILES
195 xPROGRAMFILES :="$(subst \,/,$(PROGRAMFILES))"
196else
197 ifeq ($(ARCH_DATA_MODEL), 32)
198 xPROGRAMFILES :="$(_system_drive)/Program Files"
199 else
200 xPROGRAMFILES :="$(_system_drive)/Program Files (x86)"
201 endif
202endif
203ifeq ($(ARCH_DATA_MODEL), 32)
204 _program_files :=$(call FullPath,$(xPROGRAMFILES))
205else
206 ifdef PROGRAMW6432
207 xPROGRAMW6432 :="$(subst \,/,$(PROGRAMW6432))"
208 else
209 xPROGRAMW6432 :="$(_system_drive)/Program Files"
210 endif
211 _program_files :=$(call FullPath,$(xPROGRAMW6432))
212 _program_files32 :=$(call FullPath,$(xPROGRAMFILES))
213 ifneq ($(word 1,$(_program_files32)),$(_program_files32))
214 _program_files32:=
215 endif
216endif
217ifneq ($(word 1,$(_program_files)),$(_program_files))
218 _program_files:=
219endif
220
221# DirectX SDK
222ifdef ALT_DXSDK_DRIVE
223 _dx_sdk_dir =$(ALT_DXSDK_DRIVE):/DXSDK
224else
225 ifdef DXSDK_DIR
226 xDXSDK_DIR :="$(subst \,/,$(DXSDK_DIR))"
227 else
228 xDXSDK_DIR :="$(_system_drive)/DXSDK"
229 endif
230 _dx_sdk_dir :=$(call FullPath,$(xDXSDK_DIR))
231endif
232
233# Compilers, SDK, and Visual Studio (MSDEV) [32bit is different from 64bit]
234ifeq ($(ARCH_DATA_MODEL), 32)
235 # Try looking in MSVCDIR or MSVCDir area first (set by vcvars32.bat)
236 ifdef MSVCDIR
237 xMSVCDIR :="$(subst \,/,$(MSVCDIR))"
238 _msvc_dir :=$(call FullPath,$(xMSVCDIR))
239 else
240 ifdef MSVCDir
241 xMSVCDIR :="$(subst \,/,$(MSVCDir))"
242 _msvc_dir :=$(call FullPath,$(xMSVCDIR))
243 else
244 ifneq ($(_program_files),)
245 xMSVCDIR :="$(_program_files)/Microsoft Visual Studio .NET 2003/Vc7"
246 _msvc_dir :=$(call FullPath,$(xMSVCDIR))
247 endif
248 endif
249 endif
250 ifneq ($(subst MSDev98,OLDOLDOLD,$(_msvc_dir)),$(_msvc_dir))
251 _msvc_dir :=
252 endif
253 # If we still don't have it, look for VS71COMNTOOLS, setup by installer?
254 ifeq ($(_msvc_dir),)
255 ifdef VS71COMNTOOLS # /Common/Tools directory, use ../../Vc7
256 xVS71COMNTOOLS :="$(subst \,/,$(VS71COMNTOOLS))"
257 _vs71tools :=$(call FullPath,$(xVS71COMNTOOLS))
258 endif
259 ifneq ($(_vs71tools),)
260 _msvc_dir :=$(_vs71tools)/../../Vc7
261 endif
262 endif
263 ifneq ($(_msvc_dir),)
264 _compiler_bin :=$(_msvc_dir)/Bin
265 _redist_sdk :=$(_msvc_dir)/../SDK/v1.1/Bin
266 _ms_sdk :=$(_msvc_dir)/PlatformSDK
267 endif
268endif
269
270# The Microsoft Platform SDK installed by itself
271ifneq ($(_program_files),)
272 xPSDK :="$(_program_files)/Microsoft Platform SDK"
273 _psdk :=$(call FullPath,$(xPSDK))
274 ifeq ($(_psdk),)
275 xPSDK :="$(_program_files)/Microsoft SDK"
276 _psdk :=$(call FullPath,$(xMSSDK))
277 endif
278endif
279
280# If no SDK found yet, look in other places
281ifeq ($(_ms_sdk),)
282 ifdef MSSDK
283 xMSSDK :="$(subst \,/,$(MSSDK))"
284 _ms_sdk :=$(call FullPath,$(xMSSDK))
285 else
286 ifdef MSSdk
287 xMSSDK :="$(subst \,/,$(MSSdk))"
288 _ms_sdk :=$(call FullPath,$(xMSSDK))
289 else
290 _ms_sdk :=$(_psdk)
291 endif
292 endif
293endif
294
295# Compilers for 64bit are from SDK
296ifeq ($(ARCH_DATA_MODEL), 64)
297 ifneq ($(_ms_sdk),)
298 ifeq ($(ARCH), ia64)
299 _compiler_bin :=$(_ms_sdk)/Bin/Win64
300 endif
301 ifeq ($(ARCH), amd64)
302 _compiler_bin :=$(_ms_sdk)/Bin/Win64/x86/$(ARCH)
303 _redist_sdk :=$(_ms_sdk)/redist/win64/AMD64
304 endif
305 endif
306endif
307
308# Location on system where jdk installs might be
309ifneq ($(_program_files),)
310 USRJDKINSTANCES_PATH =$(_program_files)/Java
311else
312 USRJDKINSTANCES_PATH =$(_system_drive)/
313endif
314
315# SLASH_JAVA: location of all network accessable files
316ifdef ALT_SLASH_JAVA
317 xALT_SLASH_JAVA :="$(subst \,/,$(ALT_SLASH_JAVA))"
318 SLASH_JAVA :=$(call FullPath,$(xALT_SLASH_JAVA))
319else
320 ifdef ALT_JDK_JAVA_DRIVE
321 SLASH_JAVA =$(JDK_JAVA_DRIVE)
322 else
323 SLASH_JAVA =J:
324 endif
325endif
326SLASH_JAVA:=$(call AltCheckSpaces,SLASH_JAVA)
327SLASH_JAVA:=$(call AltCheckValue,SLASH_JAVA)
328
329# JDK_DEVTOOLS_DIR: common path for all the java devtools
330ifdef ALT_JDK_DEVTOOLS_DIR
331 xALT_JDK_DEVTOOLS_DIR :="$(subst \,/,$(ALT_JDK_DEVTOOLS_DIR))"
332 JDK_DEVTOOLS_DIR :=$(call FullPath,$(xALT_JDK_DEVTOOLS_DIR))
333else
334 JDK_DEVTOOLS_DIR =$(SLASH_JAVA)/devtools
335endif
336JDK_DEVTOOLS_DIR:=$(call AltCheckSpaces,JDK_DEVTOOLS_DIR)
337JDK_DEVTOOLS_DIR:=$(call AltCheckValue,JDK_DEVTOOLS_DIR)
338
339# COMPILER_PATH: path to where the compiler and tools are installed.
340# NOTE: Must end with / so that it could be empty, allowing PATH usage.
341ifdef ALT_COMPILER_PATH
342 xALT_COMPILER_PATH :="$(subst \,/,$(ALT_COMPILER_PATH))"
343 fxALT_COMPILER_PATH :=$(call FullPath,$(xALT_COMPILER_PATH))
344 COMPILER_PATH :=$(call PrefixPath,$(fxALT_COMPILER_PATH))
345else
346 COMPILER_PATH :=$(call PrefixPath,$(_compiler_bin))
347endif
348COMPILER_PATH :=$(call AltCheckSpaces,COMPILER_PATH)
349
350# MSDEVTOOLS_PATH: path to where the additional MS Compiler tools are.
351# NOTE: Must end with / so that it could be empty, allowing PATH usage.
352ifdef ALT_MSDEVTOOLS_PATH
353 xALT_MSDEVTOOLS_PATH :="$(subst \,/,$(ALT_MSDEVTOOLS_PATH))"
354 fxALT_MSDEVTOOLS_PATH :=$(call FullPath,$(xALT_MSDEVTOOLS_PATH))
355 MSDEVTOOLS_PATH :=$(call PrefixPath,$(fxALT_MSDEVTOOLS_PATH))
356else
357 ifeq ($(ARCH_DATA_MODEL), 64)
358 ifdef MSTOOLS
359 xMSTOOLS :="$(subst \,/,$(MSTOOLS))"
360 _ms_tools :=$(call FullPath,$(xMSTOOLS))
361 else
362 ifdef Mstools
363 xMSTOOLS :="$(subst \,/,$(Mstools))"
364 _ms_tools :=$(call FullPath,$(xMSTOOLS))
365 else
366 _ms_tools :=
367 endif
368 endif
369 ifneq ($(_ms_tools),)
370 _ms_tools_bin :=$(_ms_tools)/Bin
371 else
372 # Assumes compiler bin is .../Bin/win64/x86/AMD64, rc.exe is 3 levels up
373 _ms_tools_bin :=$(_compiler_bin)/../../..
374 endif
375 else
376 _ms_tools_bin :=$(_compiler_bin)
377 endif
378 MSDEVTOOLS_PATH :=$(call PrefixPath,$(_ms_tools_bin))
379endif
380MSDEVTOOLS_PATH:=$(call AltCheckSpaces,MSDEVTOOLS_PATH)
381
382# DEVTOOLS_PATH: for other tools required for building (such as zip, etc.)
383# NOTE: Must end with / so that it could be empty, allowing PATH usage.
384ifdef ALT_DEVTOOLS_PATH
385 xALT_DEVTOOLS_PATH :="$(subst \,/,$(ALT_DEVTOOLS_PATH))"
386 fxALT_DEVTOOLS_PATH :=$(call FullPath,$(xALT_DEVTOOLS_PATH))
387 DEVTOOLS_PATH :=$(call PrefixPath,$(fxALT_DEVTOOLS_PATH))
388else
389 ifdef USING_CYGWIN
390 DEVTOOLS_PATH :=$(UNIXCOMMAND_PATH)
391 else
392 xDEVTOOLS_PATH :="$(_system_drive)/utils"
393 fxDEVTOOLS_PATH :=$(call FullPath,$(xDEVTOOLS_PATH))
394 DEVTOOLS_PATH :=$(call PrefixPath,$(fxDEVTOOLS_PATH))
395 endif
396endif
397DEVTOOLS_PATH:=$(call AltCheckSpaces,DEVTOOLS_PATH)
398
399# _BOOTDIR1: First choice for a Bootstrap JDK, previous released JDK.
400# _BOOTDIR2: Second choice
401ifndef ALT_BOOTDIR
402 _BOOTDIR1 =$(_system_drive)/jdk$(PREVIOUS_JDK_VERSION)
403 _BOOTDIR2 =$(USRJDKINSTANCES_PATH)/jdk$(PREVIOUS_JDK_VERSION)
404endif
405
406# See if SDK area has a msvcrt.dll file, directory may exist w/o msvcr* files
407_REDIST_SDK_EXISTS := $(shell \
408 if [ -f "$(_redist_sdk)/msvcrt.dll" ]; then \
409 echo "true"; \
410 else \
411 echo "false"; \
412 fi)
413_REDIST71_SDK_EXISTS := $(shell \
414 if [ -f "$(_redist_sdk)/msvcr71.dll" ]; then \
415 echo "true"; \
416 else \
417 echo "false"; \
418 fi)
419
420# 32 bit needs 2 runtimes
421ifeq ($(ARCH_DATA_MODEL), 32)
422
423 # MSVCRT_DLL_PATH: location of msvcrt.dll that will be re-distributed
424 ifdef ALT_MSVCRT_DLL_PATH
425 xALT_MSVCRT_DLL_PATH :="$(subst \,/,$(ALT_MSVCRT_DLL_PATH))"
426 MSVCRT_DLL_PATH :=$(call FullPath,$(xALT_MSVCRT_DLL_PATH))
427 else
428 ifeq ($(_REDIST_SDK_EXISTS), true)
429 xREDIST_DIR :=$(_redist_sdk)
430 else
431 xREDIST_DIR :=$(_system_root)/system32
432 endif
433 MSVCRT_DLL_PATH :=$(call FullPath,$(xREDIST_DIR))
434 endif
435 MSVCRT_DLL_PATH:=$(call AltCheckSpaces,MSVCRT_DLL_PATH)
436 MSVCRT_DLL_PATH:=$(call AltCheckValue,MSVCRT_DLL_PATH)
437
438 # MSVCR71_DLL_PATH: location of msvcr71.dll that will be re-distributed
439 ifdef ALT_MSVCR71_DLL_PATH
440 xALT_MSVCR71_DLL_PATH :="$(subst \,/,$(ALT_MSVCR71_DLL_PATH))"
441 MSVCR71_DLL_PATH :=$(call FullPath,$(xALT_MSVCR71_DLL_PATH))
442 else
443 ifeq ($(_REDIST71_SDK_EXISTS), true)
444 xREDIST71_DIR :=$(_redist_sdk)
445 else
446 xREDIST71_DIR :=$(_system_root)/system32
447 endif
448 MSVCR71_DLL_PATH :=$(call FullPath,$(xREDIST71_DIR))
449 endif
450 MSVCR71_DLL_PATH :=$(call AltCheckSpaces,MSVCR71_DLL_PATH)
451 MSVCR71_DLL_PATH:=$(call AltCheckValue,MSVCR71_DLL_PATH)
452
453else
454
455 # MSVCRT_DLL_PATH: location of msvcrt.dll that will be re-distributed
456 ifdef ALT_MSVCRT_DLL_PATH
457 xALT_MSVCRT_DLL_PATH :="$(subst \,/,$(ALT_MSVCRT_DLL_PATH))"
458 MSVCRT_DLL_PATH :=$(call FullPath,$(xALT_MSVCRT_DLL_PATH))
459 else
460 ifeq ($(_REDIST_SDK_EXISTS), true)
461 xREDIST_DIR :=$(_redist_sdk)
462 else
463 xREDIST_DIR :=$(_system_root)/SysWOW64
464 endif
465 MSVCRT_DLL_PATH :=$(call FullPath,$(xREDIST_DIR))
466 endif
467 MSVCRT_DLL_PATH:=$(call AltCheckSpaces,MSVCRT_DLL_PATH)
468 MSVCRT_DLL_PATH:=$(call AltCheckValue,MSVCRT_DLL_PATH)
469
470endif
471
472# DXSDK_PATH: path to Microsoft DirectX SDK Include and Lib
473ifdef ALT_DXSDK_PATH
474 xALT_DXSDK_PATH :="$(subst \,/,$(ALT_DXSDK_PATH))"
475 DXSDK_PATH :=$(call FullPath,$(xALT_DXSDK_PATH))
476else
477 _DXSDK_PATH1 :=$(_dx_sdk_dir)
478 _DXSDK_PATH2 :=$(JDK_DEVTOOLS_DIR)/windows/dxsdk
479 DXSDK_PATH :=$(call DirExists,$(_DXSDK_PATH1),$(_DXSDK_PATH2),$(_dx_sdk_dir))
480endif
481DXSDK_PATH :=$(call AltCheckSpaces,DXSDK_PATH)
482DXSDK_PATH:=$(call AltCheckValue,DXSDK_PATH)
483
484# DXSDK_INCLUDE_PATH: path to Microsoft DirectX SDK Include
485ifdef ALT_DXSDK_INCLUDE_PATH
486 xALT_DXSDK_INCLUDE_PATH :="$(subst \,/,$(ALT_DXSDK_INCLUDE_PATH))"
487 DXSDK_INCLUDE_PATH :=$(call FullPath,$(xALT_DXSDK_INCLUDE_PATH))
488else
489 DXSDK_INCLUDE_PATH =$(subst //,/,$(DXSDK_PATH)/Include)
490endif
491
492# DXSDK_LIB_PATH: path to Microsoft DirectX SDK Lib
493ifdef ALT_DXSDK_LIB_PATH
494 xALT_DXSDK_LIB_PATH :="$(subst \,/,$(ALT_DXSDK_LIB_PATH))"
495 DXSDK_LIB_PATH :=$(call FullPath,$(xALT_DXSDK_LIB_PATH))
496else
497 ifeq ($(ARCH_DATA_MODEL), 64)
498 # 64bit libs are located in "Lib/x64" subdir
499 DXSDK_LIB_PATH =$(subst //,/,$(DXSDK_PATH)/Lib/x64)
500 else
501 DXSDK_LIB_PATH =$(subst //,/,$(DXSDK_PATH)/Lib)
502 endif
503endif
504
505# DEPLOY_MSSDK: Microsoft SDK for this platform (for deploy)
506ifdef ALT_DEPLOY_MSSDK
507 xALT_DEPLOY_MSSDK :="$(subst \,/,$(ALT_DEPLOY_MSSDK))"
508 DEPLOY_MSSDK :=$(call FullPath,$(xALT_DEPLOY_MSSDK))
509else
510 DEPLOY_MSSDK :=$(_ms_sdk)
511endif
512DEPLOY_MSSDK:=$(call AltCheckSpaces,DEPLOY_MSSDK)
513
514# INSTALL_MSSDK: Microsoft Installer SDK for this platform (for install)
515ifdef ALT_INSTALL_MSSDK
516 xALT_INSTALL_MSSDK :="$(subst \,/,$(ALT_INSTALL_MSSDK))"
517 INSTALL_MSSDK :=$(call FullPath,$(xALT_INSTALL_MSSDK))
518else
519 INSTALL_MSSDK :=$(_psdk)
520endif
521INSTALL_MSSDK:=$(call AltCheckSpaces,INSTALL_MSSDK)
522
523# INSTALL_MSIVAL2: Installation of MsiVal2 for this platform (for install)
524ifdef ALT_INSTALL_MSIVAL2
525 xALT_INSTALL_MSIVAL2 :="$(subst \,/,$(ALT_INSTALL_MSIVAL2))"
526 INSTALL_MSIVAL2 :=$(call FullPath,$(xALT_INSTALL_MSIVAL2))
527else
528 INSTALL_MSIVAL2 :=$(_program_files)/MsiVal2
529endif
530INSTALL_MSIVAL2:=$(call AltCheckSpaces,INSTALL_MSIVAL2)
531
532# WSCRIPT: path to wscript.exe (used in creating install bundles)
533ifdef ALT_WSCRIPT
534 xALT_WSCRIPT :="$(subst \,/,$(ALT_WSCRIPT))"
535 WSCRIPT =$(xALT_WSCRIPT)
536else
537 _WSCRIPT1 :=$(_system_root)/system32/wscript.exe
538 _WSCRIPT2 :=$(DEVTOOLS_PATH)wscript.exe
539 WSCRIPT :=$(call FileExists,$(_WSCRIPT1),$(_WSCRIPT2))
540endif
541WSCRIPT:=$(call AltCheckSpaces,WSCRIPT)
542
543# CSCRIPT: path to cscript.exe (used in creating install bundles)
544ifdef ALT_CSCRIPT
545 xALT_CSCRIPT :="$(subst \,/,$(ALT_CSCRIPT))"
546 CSCRIPT =$(xALT_CSCRIPT)
547else
548 _CSCRIPT1 :=$(_system_root)/system32/cscript.exe
549 _CSCRIPT2 :=$(DEVTOOLS_PATH)cscript.exe
550 CSCRIPT :=$(call FileExists,$(_CSCRIPT1),$(_CSCRIPT2))
551endif
552CSCRIPT:=$(call AltCheckSpaces,CSCRIPT)
553
554# MSIVAL2: path to msival2.exe (used in validating install msi files)
555ifdef ALT_MSIVAL2
556 xALT_MSIVAL2 :="$(subst \,/,$(ALT_MSIVAL2))"
557 MSIVAL2 =$(xALT_MSIVAL2)
558else
559 _MSIVAL2_1 :=$(INSTALL_MSIVAL2)/msival2.exe
560 _MSIVAL2_2 :=$(DEVTOOLS_PATH)msival2.exe
561 MSIVAL2 :=$(call FileExists,$(_MSIVAL2_1),$(_MSIVAL2_2))
562endif
563MSIVAL2:=$(call AltCheckSpaces,MSIVAL2)
564
565# LOGOCUB: path to cub file for (used in validating install msi files)
566ifdef ALT_LOGOCUB
567 xALT_LOGOCUB :="$(subst \,/,$(ALT_LOGOCUB))"
568 LOGOCUB =$(xALT_LOGOCUB)
569else
570 _LOGOCUB1 :=$(INSTALL_MSIVAL2)/logo.cub
571 _LOGOCUB2 :=$(DEVTOOLS_PATH)logo.cub
572 LOGOCUB :=$(call FileExists,$(_LOGOCUB1),$(_LOGOCUB2))
573endif
574LOGOCUB:=$(call AltCheckSpaces,LOGOCUB)
575
576# MSITRAN: path to msitran.exe (used in creating install bundles and sponsors)
577ifdef ALT_MSITRAN
578 xALT_MSITRAN :="$(subst \,/,$(ALT_MSITRAN))"
579 MSITRAN =$(xALT_MSITRAN)
580else
581 _MSITRAN1 :=$(INSTALL_MSSDK)/Bin/msitran.exe
582 _MSITRAN2 :=$(DEVTOOLS_PATH)msitran.exe
583 MSITRAN :=$(call FileExists,$(_MSITRAN1),$(_MSITRAN2))
584endif
585MSITRAN:=$(call AltCheckSpaces,MSITRAN)
586
587# MSICERT: path to msicert.exe (used in creating install bundles)
588ifdef ALT_MSICERT
589 xALT_MSICERT :="$(subst \,/,$(ALT_MSICERT))"
590 MSICERT =$(xALT_MSICERT)
591else
592 _MSICERT1 :=$(INSTALL_MSSDK)/Bin/msicert.exe
593 _MSICERT2 :=$(DEVTOOLS_PATH)msicert.exe
594 MSICERT :=$(call FileExists,$(_MSICERT1),$(_MSICERT2))
595endif
596MSICERT:=$(call AltCheckSpaces,MSICERT)
597
598# Import JDK images allow for partial builds, components not built are
599# imported (or copied from) these import areas when needed.
600
601# BUILD_JDK_IMPORT_PATH: location of JDK install trees to import for
602# multiple platforms, e.g. windows-i586, solaris-sparc, linux-586, etc.
603ifdef ALT_BUILD_JDK_IMPORT_PATH
604 BUILD_JDK_IMPORT_PATH :=$(call FullPath,$(ALT_BUILD_JDK_IMPORT_PATH))
605else
606 BUILD_JDK_IMPORT_PATH = $(PROMOTED_BUILD_BINARIES)
607endif
608BUILD_JDK_IMPORT_PATH:=$(call AltCheckSpaces,BUILD_JDK_IMPORT_PATH)
609BUILD_JDK_IMPORT_PATH:=$(call AltCheckValue,BUILD_JDK_IMPORT_PATH)
610
611# JDK_IMPORT_PATH: location of previously built JDK (this version) to import
612ifdef ALT_JDK_IMPORT_PATH
613 JDK_IMPORT_PATH :=$(call FullPath,$(ALT_JDK_IMPORT_PATH))
614else
615 JDK_IMPORT_PATH = $(BUILD_JDK_IMPORT_PATH)/$(PLATFORM)-$(ARCH)$(_JDK_IMPORT_VARIANT)
616endif
617JDK_IMPORT_PATH:=$(call AltCheckSpaces,JDK_IMPORT_PATH)
618JDK_IMPORT_PATH:=$(call AltCheckValue,JDK_IMPORT_PATH)
619
620# HOTSPOT_IMPORT_PATH: location of hotspot pre-built files
621ifdef ALT_HOTSPOT_IMPORT_PATH
622 HOTSPOT_IMPORT_PATH :=$(call FullPath,$(ALT_HOTSPOT_IMPORT_PATH))
623else
624 HOTSPOT_IMPORT_PATH =$(JDK_IMPORT_PATH)
625endif
626HOTSPOT_IMPORT_PATH:=$(call AltCheckSpaces,HOTSPOT_IMPORT_PATH)
627HOTSPOT_IMPORT_PATH:=$(call AltCheckValue,HOTSPOT_IMPORT_PATH)
628
629# HOTSPOT_CLIENT_PATH: location of client jvm library file.
630ifeq ($(ARCH_DATA_MODEL), 32)
631 ifdef ALT_HOTSPOT_CLIENT_PATH
632 HOTSPOT_CLIENT_PATH :=$(call FullPath,$(ALT_HOTSPOT_CLIENT_PATH))
633 else
634 HOTSPOT_CLIENT_PATH =$(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/client
635 endif
636 HOTSPOT_CLIENT_PATH:=$(call AltCheckSpaces,HOTSPOT_CLIENT_PATH)
637 HOTSPOT_CLIENT_PATH:=$(call AltCheckValue,HOTSPOT_CLIENT_PATH)
638endif
639
640# HOTSPOT_SERVER_PATH: location of server jvm library file.
641ifdef ALT_HOTSPOT_SERVER_PATH
642 HOTSPOT_SERVER_PATH :=$(call FullPath,$(ALT_HOTSPOT_SERVER_PATH))
643else
644 HOTSPOT_SERVER_PATH =$(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/server
645endif
646HOTSPOT_SERVER_PATH:=$(call AltCheckSpaces,HOTSPOT_SERVER_PATH)
647HOTSPOT_SERVER_PATH:=$(call AltCheckValue,HOTSPOT_SERVER_PATH)
648
649# HOTSPOT_LIB_PATH: location of jvm.lib file.
650ifdef ALT_HOTSPOT_LIB_PATH
651 xALT_HOTSPOT_LIB_PATH :="$(subst \,/,$(ALT_HOTSPOT_LIB_PATH))"
652 HOTSPOT_LIB_PATH :=$(call FullPath,$(xALT_HOTSPOT_LIB_PATH))
653else
654 HOTSPOT_LIB_PATH =$(HOTSPOT_IMPORT_PATH)/lib
655endif
656HOTSPOT_LIB_PATH:=$(call AltCheckSpaces,HOTSPOT_LIB_PATH)
657HOTSPOT_LIB_PATH:=$(call AltCheckValue,HOTSPOT_LIB_PATH)
658