Sat, 01 Dec 2007 00:00:00 +0000
Initial load
duke@1 | 1 | # |
duke@1 | 2 | # Copyright 2005-2007 Sun Microsystems, Inc. All Rights Reserved. |
duke@1 | 3 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
duke@1 | 4 | # |
duke@1 | 5 | # This code is free software; you can redistribute it and/or modify it |
duke@1 | 6 | # under the terms of the GNU General Public License version 2 only, as |
duke@1 | 7 | # published by the Free Software Foundation. Sun designates this |
duke@1 | 8 | # particular file as subject to the "Classpath" exception as provided |
duke@1 | 9 | # by Sun in the LICENSE file that accompanied this code. |
duke@1 | 10 | # |
duke@1 | 11 | # This code is distributed in the hope that it will be useful, but WITHOUT |
duke@1 | 12 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
duke@1 | 13 | # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
duke@1 | 14 | # version 2 for more details (a copy is included in the LICENSE file that |
duke@1 | 15 | # accompanied this code). |
duke@1 | 16 | # |
duke@1 | 17 | # You should have received a copy of the GNU General Public License version |
duke@1 | 18 | # 2 along with this work; if not, write to the Free Software Foundation, |
duke@1 | 19 | # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
duke@1 | 20 | # |
duke@1 | 21 | # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, |
duke@1 | 22 | # CA 95054 USA or visit www.sun.com if you need additional information or |
duke@1 | 23 | # have any questions. |
duke@1 | 24 | # |
duke@1 | 25 | |
duke@1 | 26 | # |
duke@1 | 27 | # Definitions for Windows. |
duke@1 | 28 | # |
duke@1 | 29 | |
duke@1 | 30 | # Default for COMPILER_WARNINGS_FATAL on Windows (C++ compiler warnings) |
duke@1 | 31 | # Level: Default is 3, 0 means none, 4 is the most but may be unreliable |
duke@1 | 32 | # Some makefiles may have set this to 0 to turn off warnings completely, |
duke@1 | 33 | # which also effectively creates a COMPILER_WARNINGS_FATAL=false situation. |
duke@1 | 34 | # Program.gmk may turn this down to 2 (building .exe's). |
duke@1 | 35 | # Windows 64bit platforms are less likely to be warning free. |
duke@1 | 36 | # Historically, Windows 32bit builds should be mostly warning free. |
duke@1 | 37 | ifndef COMPILER_WARNING_LEVEL |
duke@1 | 38 | COMPILER_WARNING_LEVEL=3 |
duke@1 | 39 | endif |
duke@1 | 40 | ifndef COMPILER_WARNINGS_FATAL |
duke@1 | 41 | COMPILER_WARNINGS_FATAL=false |
duke@1 | 42 | endif |
duke@1 | 43 | |
duke@1 | 44 | # Windows should use parallel compilation for best build times |
duke@1 | 45 | ifndef COMPILE_APPROACH |
duke@1 | 46 | COMPILE_APPROACH = normal |
duke@1 | 47 | endif |
duke@1 | 48 | |
duke@1 | 49 | # Indication that we are doing an incremental build. |
duke@1 | 50 | # This may trigger the creation of make depend files. |
duke@1 | 51 | # (This may not be working on windows yet, always force to false.) |
duke@1 | 52 | override INCREMENTAL_BUILD = false |
duke@1 | 53 | |
duke@1 | 54 | # WARNING: This is extremely touch stuff, between CYGWIN vs. MKS and all |
duke@1 | 55 | # variations of MKS and CYGWIN releases, and 32bit vs 64bit, |
duke@1 | 56 | # this file can give you nightmares. |
duke@1 | 57 | # |
duke@1 | 58 | # Notes: |
duke@1 | 59 | # Keep all paths in the windows "mixed" style except CYGWIN UNXIXCOMMAND_PATH. |
duke@1 | 60 | # Use of PrefixPath is critical, some variables must end with / (see NOTE). |
duke@1 | 61 | # Use of quotes is critical due to possible spaces in paths coming from |
duke@1 | 62 | # the environment variables, be careful. |
duke@1 | 63 | # First convert \ to / with subst, keep it quoted due to blanks, then |
duke@1 | 64 | # use cygpath -s or dosname -s to get the short non-blank name. |
duke@1 | 65 | # If the MKS is old and doesn't have a dosname -s, you will be forced |
duke@1 | 66 | # to set ALT variables with the short non-space directory names. |
duke@1 | 67 | # If dosname doesn't appear to work, we won't use it. |
duke@1 | 68 | # The dosname utility also wants to accept stdin if it is not supplied |
duke@1 | 69 | # any path on the command line, this is really dangerous when using |
duke@1 | 70 | # make variables that can easily become empty, so I use: |
duke@1 | 71 | # echo $1 | dosname -s instead of dosname -s $1 |
duke@1 | 72 | # to prevent dosname from hanging up the make process when $1 is empty. |
duke@1 | 73 | # The cygpath utility does not have this problem. |
duke@1 | 74 | # The ALT values should never really have spaces or use \. |
duke@1 | 75 | # Suspect these environment variables to have spaces and/or \ characters: |
duke@1 | 76 | # SYSTEMROOT, SystemRoot, WINDIR, windir, PROGRAMFILES, ProgramFiles, |
duke@1 | 77 | # MSTOOLS, Mstools, MSSDK, MSSdk, VC71COMNTOOLS, |
duke@1 | 78 | # MSVCDIR, MSVCDir. |
duke@1 | 79 | # So use $(subst \,/,) on them first adding quotes and placing them in |
duke@1 | 80 | # their own variable assigned with :=, then use FullPath. |
duke@1 | 81 | # |
duke@1 | 82 | |
duke@1 | 83 | # Use FullPath to get C:/ style non-spaces path. Never ends with a /! |
duke@1 | 84 | ifdef USING_CYGWIN |
duke@1 | 85 | # We assume cygpath is available in the search path |
duke@1 | 86 | # NOTE: Use of 'pwd' with CYGWIN will not get you a mixed style path! |
duke@1 | 87 | CYGPATH_CMD=cygpath -a -s -m |
duke@1 | 88 | define FullPath |
duke@1 | 89 | $(shell $(CYGPATH_CMD) $1 2> $(DEV_NULL)) |
duke@1 | 90 | endef |
duke@1 | 91 | define OptFullPath |
duke@1 | 92 | $(shell if [ "$1" != "" -a -d "$1" ]; then $(CYGPATH_CMD) "$1"; else echo "$1"; fi) |
duke@1 | 93 | endef |
duke@1 | 94 | else |
duke@1 | 95 | # Temporary until we upgrade to MKS 8.7, MKS pwd returns mixed mode path |
duke@1 | 96 | define FullPath |
duke@1 | 97 | $(shell cd $1 2> $(DEV_NULL) && pwd) |
duke@1 | 98 | endef |
duke@1 | 99 | define OptFullPath |
duke@1 | 100 | $(shell if [ "$1" != "" -a -d "$1" ]; then (cd $1 && pwd); else echo "$1"; fi) |
duke@1 | 101 | endef |
duke@1 | 102 | endif |
duke@1 | 103 | |
duke@1 | 104 | # System drive |
duke@1 | 105 | ifdef SYSTEMDRIVE |
duke@1 | 106 | _system_drive =$(SYSTEMDRIVE) |
duke@1 | 107 | else |
duke@1 | 108 | ifdef SystemDrive |
duke@1 | 109 | _system_drive =$(SystemDrive) |
duke@1 | 110 | endif |
duke@1 | 111 | endif |
duke@1 | 112 | _system_drive:=$(call CheckValue,_system_drive,C:) |
duke@1 | 113 | |
duke@1 | 114 | # UNIXCOMMAND_PATH: path to where the most common Unix commands are. |
duke@1 | 115 | # NOTE: Must end with / so that it could be empty, allowing PATH usage. |
duke@1 | 116 | ifdef ALT_UNIXCOMMAND_PATH |
duke@1 | 117 | xALT_UNIXCOMMAND_PATH :="$(subst \,/,$(ALT_UNIXCOMMAND_PATH))" |
duke@1 | 118 | fxALT_UNIXCOMMAND_PATH :=$(call FullPath,$(xALT_UNIXCOMMAND_PATH)) |
duke@1 | 119 | UNIXCOMMAND_PATH :=$(call PrefixPath,$(fxALT_UNIXCOMMAND_PATH)) |
duke@1 | 120 | else |
duke@1 | 121 | ifdef USING_CYGWIN |
duke@1 | 122 | UNIXCOMMAND_PATH :=$(call PrefixPath,/usr/bin) |
duke@1 | 123 | else |
duke@1 | 124 | ifdef ROOTDIR |
duke@1 | 125 | xROOTDIR :="$(subst \,/,$(ROOTDIR))" |
duke@1 | 126 | _rootdir :=$(call FullPath,$(xROOTDIR)) |
duke@1 | 127 | else |
duke@1 | 128 | xROOTDIR :="$(_system_drive)/mksnt" |
duke@1 | 129 | _rootdir :=$(call FullPath,$(xROOTDIR)) |
duke@1 | 130 | endif |
duke@1 | 131 | ifneq ($(_rootdir),) |
duke@1 | 132 | UNIXCOMMAND_PATH :=$(call PrefixPath,$(_rootdir)/mksnt) |
duke@1 | 133 | endif |
duke@1 | 134 | endif |
duke@1 | 135 | endif |
duke@1 | 136 | UNIXCOMMAND_PATH:=$(call AltCheckSpaces,UNIXCOMMAND_PATH) |
duke@1 | 137 | |
duke@1 | 138 | # Get version of MKS or CYGWIN |
duke@1 | 139 | ifdef USING_CYGWIN |
duke@1 | 140 | _CYGWIN_VER :=$(shell $(UNAME)) |
duke@1 | 141 | CYGWIN_VER :=$(call GetVersion,$(_CYGWIN_VER)) |
duke@1 | 142 | else # MKS |
duke@1 | 143 | _MKS_VER :=$(shell $(MKSINFO) 2>&1 | $(GREP) Release | $(TAIL) -1 | $(SED) -e 's@.*\(Release.*\)@\1@') |
duke@1 | 144 | MKS_VER :=$(call GetVersion,$(_MKS_VER)) |
duke@1 | 145 | # At this point, we can re-define FullPath to use DOSNAME_CMD |
duke@1 | 146 | CHECK_MKS87:=$(call CheckVersions,$(MKS_VER),8.7) |
duke@1 | 147 | TRY_DOSNAME:=false |
duke@1 | 148 | ifeq ($(CHECK_MKS87),same) |
duke@1 | 149 | TRY_DOSNAME:=true |
duke@1 | 150 | endif |
duke@1 | 151 | # Newer should be ok |
duke@1 | 152 | ifeq ($(CHECK_MKS87),newer) |
duke@1 | 153 | TRY_DOSNAME:=true |
duke@1 | 154 | endif |
duke@1 | 155 | ifeq ($(TRY_DOSNAME),true) |
duke@1 | 156 | ifeq ($(shell $(UNIXCOMMAND_PATH)dosname -s $(_system_drive)/ 2> $(DEV_NULL)),$(_system_drive)/) |
duke@1 | 157 | _DOSNAME=$(UNIXCOMMAND_PATH)dosname |
duke@1 | 158 | DOSNAME_CMD:=$(_DOSNAME) -s |
duke@1 | 159 | define FullPath |
duke@1 | 160 | $(subst //,/,$(shell echo $1 | $(DOSNAME_CMD) 2> $(DEV_NULL))) |
duke@1 | 161 | endef |
duke@1 | 162 | endif # test dosname -s |
duke@1 | 163 | endif # TRY_DOSNAME |
duke@1 | 164 | endif # MKS |
duke@1 | 165 | |
duke@1 | 166 | # We try to get references to what we need via the default component |
duke@1 | 167 | # environment variables, or what was used historically. |
duke@1 | 168 | |
duke@1 | 169 | # Process Windows values into FullPath values, these paths may have \ chars |
duke@1 | 170 | |
duke@1 | 171 | # System root |
duke@1 | 172 | ifdef SYSTEMROOT |
duke@1 | 173 | xSYSTEMROOT :="$(subst \,/,$(SYSTEMROOT))" |
duke@1 | 174 | _system_root :=$(call FullPath,$(xSYSTEMROOT)) |
duke@1 | 175 | else |
duke@1 | 176 | ifdef SystemRoot |
duke@1 | 177 | xSYSTEMROOT :="$(subst \,/,$(SystemRoot))" |
duke@1 | 178 | _system_root :=$(call FullPath,$(xSYSTEMROOT)) |
duke@1 | 179 | else |
duke@1 | 180 | ifdef WINDIR |
duke@1 | 181 | xWINDIR :="$(subst \,/,$(WINDIR))" |
duke@1 | 182 | _system_root :=$(call FullPath,$(xWINDIR)) |
duke@1 | 183 | else |
duke@1 | 184 | ifdef windir |
duke@1 | 185 | xWINDIR :="$(subst \,/,$(windir))" |
duke@1 | 186 | _system_root :=$(call FullPath,$(xWINDIR)) |
duke@1 | 187 | endif |
duke@1 | 188 | endif |
duke@1 | 189 | endif |
duke@1 | 190 | endif |
duke@1 | 191 | _system_root:=$(call CheckValue,_system_root,$(_system_drive)/WINNT) |
duke@1 | 192 | |
duke@1 | 193 | # Program Files directory |
duke@1 | 194 | ifdef PROGRAMFILES |
duke@1 | 195 | xPROGRAMFILES :="$(subst \,/,$(PROGRAMFILES))" |
duke@1 | 196 | else |
duke@1 | 197 | ifeq ($(ARCH_DATA_MODEL), 32) |
duke@1 | 198 | xPROGRAMFILES :="$(_system_drive)/Program Files" |
duke@1 | 199 | else |
duke@1 | 200 | xPROGRAMFILES :="$(_system_drive)/Program Files (x86)" |
duke@1 | 201 | endif |
duke@1 | 202 | endif |
duke@1 | 203 | ifeq ($(ARCH_DATA_MODEL), 32) |
duke@1 | 204 | _program_files :=$(call FullPath,$(xPROGRAMFILES)) |
duke@1 | 205 | else |
duke@1 | 206 | ifdef PROGRAMW6432 |
duke@1 | 207 | xPROGRAMW6432 :="$(subst \,/,$(PROGRAMW6432))" |
duke@1 | 208 | else |
duke@1 | 209 | xPROGRAMW6432 :="$(_system_drive)/Program Files" |
duke@1 | 210 | endif |
duke@1 | 211 | _program_files :=$(call FullPath,$(xPROGRAMW6432)) |
duke@1 | 212 | _program_files32 :=$(call FullPath,$(xPROGRAMFILES)) |
duke@1 | 213 | ifneq ($(word 1,$(_program_files32)),$(_program_files32)) |
duke@1 | 214 | _program_files32:= |
duke@1 | 215 | endif |
duke@1 | 216 | endif |
duke@1 | 217 | ifneq ($(word 1,$(_program_files)),$(_program_files)) |
duke@1 | 218 | _program_files:= |
duke@1 | 219 | endif |
duke@1 | 220 | |
duke@1 | 221 | # Compilers, SDK, and Visual Studio (MSDEV) [32bit is different from 64bit] |
duke@1 | 222 | ifeq ($(ARCH_DATA_MODEL), 32) |
duke@1 | 223 | # Try looking in MSVCDIR or MSVCDir area first (set by vcvars32.bat) |
duke@1 | 224 | ifdef MSVCDIR |
duke@1 | 225 | xMSVCDIR :="$(subst \,/,$(MSVCDIR))" |
duke@1 | 226 | _msvc_dir :=$(call FullPath,$(xMSVCDIR)) |
duke@1 | 227 | else |
duke@1 | 228 | ifdef MSVCDir |
duke@1 | 229 | xMSVCDIR :="$(subst \,/,$(MSVCDir))" |
duke@1 | 230 | _msvc_dir :=$(call FullPath,$(xMSVCDIR)) |
duke@1 | 231 | else |
duke@1 | 232 | ifneq ($(_program_files),) |
duke@1 | 233 | xMSVCDIR :="$(_program_files)/Microsoft Visual Studio .NET 2003/Vc7" |
duke@1 | 234 | _msvc_dir :=$(call FullPath,$(xMSVCDIR)) |
duke@1 | 235 | endif |
duke@1 | 236 | endif |
duke@1 | 237 | endif |
duke@1 | 238 | ifneq ($(subst MSDev98,OLDOLDOLD,$(_msvc_dir)),$(_msvc_dir)) |
duke@1 | 239 | _msvc_dir := |
duke@1 | 240 | endif |
duke@1 | 241 | # If we still don't have it, look for VS71COMNTOOLS, setup by installer? |
duke@1 | 242 | ifeq ($(_msvc_dir),) |
duke@1 | 243 | ifdef VS71COMNTOOLS # /Common/Tools directory, use ../../Vc7 |
duke@1 | 244 | xVS71COMNTOOLS :="$(subst \,/,$(VS71COMNTOOLS))" |
duke@1 | 245 | _vs71tools :=$(call FullPath,$(xVS71COMNTOOLS)) |
duke@1 | 246 | endif |
duke@1 | 247 | ifneq ($(_vs71tools),) |
duke@1 | 248 | _msvc_dir :=$(_vs71tools)/../../Vc7 |
duke@1 | 249 | endif |
duke@1 | 250 | endif |
duke@1 | 251 | ifneq ($(_msvc_dir),) |
duke@1 | 252 | _compiler_bin :=$(_msvc_dir)/Bin |
duke@1 | 253 | _redist_sdk :=$(_msvc_dir)/../SDK/v1.1/Bin |
duke@1 | 254 | _ms_sdk :=$(_msvc_dir)/PlatformSDK |
duke@1 | 255 | endif |
duke@1 | 256 | endif |
duke@1 | 257 | |
duke@1 | 258 | # The Microsoft Platform SDK installed by itself |
duke@1 | 259 | ifneq ($(_program_files),) |
duke@1 | 260 | xPSDK :="$(_program_files)/Microsoft Platform SDK" |
duke@1 | 261 | _psdk :=$(call FullPath,$(xPSDK)) |
duke@1 | 262 | ifeq ($(_psdk),) |
duke@1 | 263 | xPSDK :="$(_program_files)/Microsoft SDK" |
duke@1 | 264 | _psdk :=$(call FullPath,$(xMSSDK)) |
duke@1 | 265 | endif |
duke@1 | 266 | endif |
duke@1 | 267 | |
duke@1 | 268 | # If no SDK found yet, look in other places |
duke@1 | 269 | ifeq ($(_ms_sdk),) |
duke@1 | 270 | ifdef MSSDK |
duke@1 | 271 | xMSSDK :="$(subst \,/,$(MSSDK))" |
duke@1 | 272 | _ms_sdk :=$(call FullPath,$(xMSSDK)) |
duke@1 | 273 | else |
duke@1 | 274 | ifdef MSSdk |
duke@1 | 275 | xMSSDK :="$(subst \,/,$(MSSdk))" |
duke@1 | 276 | _ms_sdk :=$(call FullPath,$(xMSSDK)) |
duke@1 | 277 | else |
duke@1 | 278 | _ms_sdk :=$(_psdk) |
duke@1 | 279 | endif |
duke@1 | 280 | endif |
duke@1 | 281 | endif |
duke@1 | 282 | |
duke@1 | 283 | # Compilers for 64bit are from SDK |
duke@1 | 284 | ifeq ($(ARCH_DATA_MODEL), 64) |
duke@1 | 285 | ifneq ($(_ms_sdk),) |
duke@1 | 286 | ifeq ($(ARCH), ia64) |
duke@1 | 287 | _compiler_bin :=$(_ms_sdk)/Bin/Win64 |
duke@1 | 288 | endif |
duke@1 | 289 | ifeq ($(ARCH), amd64) |
duke@1 | 290 | _compiler_bin :=$(_ms_sdk)/Bin/Win64/x86/$(ARCH) |
duke@1 | 291 | _redist_sdk :=$(_ms_sdk)/redist/win64/AMD64 |
duke@1 | 292 | endif |
duke@1 | 293 | endif |
duke@1 | 294 | endif |
duke@1 | 295 | |
duke@1 | 296 | # Location on system where jdk installs might be |
duke@1 | 297 | ifneq ($(_program_files),) |
duke@1 | 298 | USRJDKINSTANCES_PATH =$(_program_files)/Java |
duke@1 | 299 | else |
duke@1 | 300 | USRJDKINSTANCES_PATH =$(_system_drive)/ |
duke@1 | 301 | endif |
duke@1 | 302 | |
duke@1 | 303 | # SLASH_JAVA: location of all network accessable files |
duke@1 | 304 | ifdef ALT_SLASH_JAVA |
duke@1 | 305 | xALT_SLASH_JAVA :="$(subst \,/,$(ALT_SLASH_JAVA))" |
duke@1 | 306 | SLASH_JAVA :=$(call FullPath,$(xALT_SLASH_JAVA)) |
duke@1 | 307 | else |
duke@1 | 308 | ifdef ALT_JDK_JAVA_DRIVE |
duke@1 | 309 | SLASH_JAVA =$(JDK_JAVA_DRIVE) |
duke@1 | 310 | else |
duke@1 | 311 | SLASH_JAVA =J: |
duke@1 | 312 | endif |
duke@1 | 313 | endif |
duke@1 | 314 | SLASH_JAVA:=$(call AltCheckSpaces,SLASH_JAVA) |
duke@1 | 315 | SLASH_JAVA:=$(call AltCheckValue,SLASH_JAVA) |
duke@1 | 316 | |
duke@1 | 317 | # JDK_DEVTOOLS_DIR: common path for all the java devtools |
duke@1 | 318 | ifdef ALT_JDK_DEVTOOLS_DIR |
duke@1 | 319 | xALT_JDK_DEVTOOLS_DIR :="$(subst \,/,$(ALT_JDK_DEVTOOLS_DIR))" |
duke@1 | 320 | JDK_DEVTOOLS_DIR :=$(call FullPath,$(xALT_JDK_DEVTOOLS_DIR)) |
duke@1 | 321 | else |
duke@1 | 322 | JDK_DEVTOOLS_DIR =$(SLASH_JAVA)/devtools |
duke@1 | 323 | endif |
duke@1 | 324 | JDK_DEVTOOLS_DIR:=$(call AltCheckSpaces,JDK_DEVTOOLS_DIR) |
duke@1 | 325 | JDK_DEVTOOLS_DIR:=$(call AltCheckValue,JDK_DEVTOOLS_DIR) |
duke@1 | 326 | |
duke@1 | 327 | # COMPILER_PATH: path to where the compiler and tools are installed. |
duke@1 | 328 | # NOTE: Must end with / so that it could be empty, allowing PATH usage. |
duke@1 | 329 | ifdef ALT_COMPILER_PATH |
duke@1 | 330 | xALT_COMPILER_PATH :="$(subst \,/,$(ALT_COMPILER_PATH))" |
duke@1 | 331 | fxALT_COMPILER_PATH :=$(call FullPath,$(xALT_COMPILER_PATH)) |
duke@1 | 332 | COMPILER_PATH :=$(call PrefixPath,$(fxALT_COMPILER_PATH)) |
duke@1 | 333 | else |
duke@1 | 334 | COMPILER_PATH :=$(call PrefixPath,$(_compiler_bin)) |
duke@1 | 335 | endif |
duke@1 | 336 | COMPILER_PATH :=$(call AltCheckSpaces,COMPILER_PATH) |
duke@1 | 337 | |
duke@1 | 338 | # MSDEVTOOLS_PATH: path to where the additional MS Compiler tools are. |
duke@1 | 339 | # NOTE: Must end with / so that it could be empty, allowing PATH usage. |
duke@1 | 340 | ifdef ALT_MSDEVTOOLS_PATH |
duke@1 | 341 | xALT_MSDEVTOOLS_PATH :="$(subst \,/,$(ALT_MSDEVTOOLS_PATH))" |
duke@1 | 342 | fxALT_MSDEVTOOLS_PATH :=$(call FullPath,$(xALT_MSDEVTOOLS_PATH)) |
duke@1 | 343 | MSDEVTOOLS_PATH :=$(call PrefixPath,$(fxALT_MSDEVTOOLS_PATH)) |
duke@1 | 344 | else |
duke@1 | 345 | ifeq ($(ARCH_DATA_MODEL), 64) |
duke@1 | 346 | ifdef MSTOOLS |
duke@1 | 347 | xMSTOOLS :="$(subst \,/,$(MSTOOLS))" |
duke@1 | 348 | _ms_tools :=$(call FullPath,$(xMSTOOLS)) |
duke@1 | 349 | else |
duke@1 | 350 | ifdef Mstools |
duke@1 | 351 | xMSTOOLS :="$(subst \,/,$(Mstools))" |
duke@1 | 352 | _ms_tools :=$(call FullPath,$(xMSTOOLS)) |
duke@1 | 353 | else |
duke@1 | 354 | _ms_tools := |
duke@1 | 355 | endif |
duke@1 | 356 | endif |
duke@1 | 357 | ifneq ($(_ms_tools),) |
duke@1 | 358 | _ms_tools_bin :=$(_ms_tools)/Bin |
duke@1 | 359 | else |
duke@1 | 360 | # Assumes compiler bin is .../Bin/win64/x86/AMD64, rc.exe is 3 levels up |
duke@1 | 361 | _ms_tools_bin :=$(_compiler_bin)/../../.. |
duke@1 | 362 | endif |
duke@1 | 363 | else |
duke@1 | 364 | _ms_tools_bin :=$(_compiler_bin) |
duke@1 | 365 | endif |
duke@1 | 366 | MSDEVTOOLS_PATH :=$(call PrefixPath,$(_ms_tools_bin)) |
duke@1 | 367 | endif |
duke@1 | 368 | MSDEVTOOLS_PATH:=$(call AltCheckSpaces,MSDEVTOOLS_PATH) |
duke@1 | 369 | |
duke@1 | 370 | # DEVTOOLS_PATH: for other tools required for building (such as zip, etc.) |
duke@1 | 371 | # NOTE: Must end with / so that it could be empty, allowing PATH usage. |
duke@1 | 372 | ifdef ALT_DEVTOOLS_PATH |
duke@1 | 373 | xALT_DEVTOOLS_PATH :="$(subst \,/,$(ALT_DEVTOOLS_PATH))" |
duke@1 | 374 | fxALT_DEVTOOLS_PATH :=$(call FullPath,$(xALT_DEVTOOLS_PATH)) |
duke@1 | 375 | DEVTOOLS_PATH :=$(call PrefixPath,$(fxALT_DEVTOOLS_PATH)) |
duke@1 | 376 | else |
duke@1 | 377 | ifdef USING_CYGWIN |
duke@1 | 378 | DEVTOOLS_PATH :=$(UNIXCOMMAND_PATH) |
duke@1 | 379 | else |
duke@1 | 380 | xDEVTOOLS_PATH :="$(_system_drive)/utils" |
duke@1 | 381 | fxDEVTOOLS_PATH :=$(call FullPath,$(xDEVTOOLS_PATH)) |
duke@1 | 382 | DEVTOOLS_PATH :=$(call PrefixPath,$(fxDEVTOOLS_PATH)) |
duke@1 | 383 | endif |
duke@1 | 384 | endif |
duke@1 | 385 | DEVTOOLS_PATH:=$(call AltCheckSpaces,DEVTOOLS_PATH) |
duke@1 | 386 | |
duke@1 | 387 | # _BOOTDIR1: First choice for a Bootstrap JDK, previous released JDK. |
duke@1 | 388 | # _BOOTDIR2: Second choice |
duke@1 | 389 | ifndef ALT_BOOTDIR |
duke@1 | 390 | _BOOTDIR1 =$(_system_drive)/jdk$(PREVIOUS_JDK_VERSION) |
duke@1 | 391 | _BOOTDIR2 =$(USRJDKINSTANCES_PATH)/jdk$(PREVIOUS_JDK_VERSION) |
duke@1 | 392 | endif |
duke@1 | 393 | |
duke@1 | 394 | # Import JDK images allow for partial builds, components not built are |
duke@1 | 395 | # imported (or copied from) these import areas when needed. |
duke@1 | 396 | |
duke@1 | 397 | # BUILD_JDK_IMPORT_PATH: location of JDK install trees to import for |
duke@1 | 398 | # multiple platforms, e.g. windows-i586, solaris-sparc, linux-586, etc. |
duke@1 | 399 | ifdef ALT_BUILD_JDK_IMPORT_PATH |
duke@1 | 400 | BUILD_JDK_IMPORT_PATH :=$(call FullPath,$(ALT_BUILD_JDK_IMPORT_PATH)) |
duke@1 | 401 | else |
duke@1 | 402 | BUILD_JDK_IMPORT_PATH = $(PROMOTED_BUILD_BINARIES) |
duke@1 | 403 | endif |
duke@1 | 404 | BUILD_JDK_IMPORT_PATH:=$(call AltCheckSpaces,BUILD_JDK_IMPORT_PATH) |
duke@1 | 405 | BUILD_JDK_IMPORT_PATH:=$(call AltCheckValue,BUILD_JDK_IMPORT_PATH) |
duke@1 | 406 | |
duke@1 | 407 | # JDK_IMPORT_PATH: location of previously built JDK (this version) to import |
duke@1 | 408 | ifdef ALT_JDK_IMPORT_PATH |
duke@1 | 409 | JDK_IMPORT_PATH :=$(call FullPath,$(ALT_JDK_IMPORT_PATH)) |
duke@1 | 410 | else |
duke@1 | 411 | JDK_IMPORT_PATH = $(BUILD_JDK_IMPORT_PATH)/$(PLATFORM)-$(ARCH)$(_JDK_IMPORT_VARIANT) |
duke@1 | 412 | endif |
duke@1 | 413 | JDK_IMPORT_PATH:=$(call AltCheckSpaces,JDK_IMPORT_PATH) |
duke@1 | 414 | JDK_IMPORT_PATH:=$(call AltCheckValue,JDK_IMPORT_PATH) |
duke@1 | 415 |