make/common/shared/Defs-windows.gmk

changeset 406
0a5931be9176
parent 240
f90b3e014e83
equal deleted inserted replaced
404:0e08ba7648fb 406:0a5931be9176
89 endef 89 endef
90 define OptFullPath 90 define OptFullPath
91 $(shell if [ "$1" != "" -a -d "$1" ]; then $(CYGPATH_CMD) "$1"; else echo "$1"; fi) 91 $(shell if [ "$1" != "" -a -d "$1" ]; then $(CYGPATH_CMD) "$1"; else echo "$1"; fi)
92 endef 92 endef
93 else 93 else
94 ifdef USING_MSYS
95 DOSPATH_CMD:=$(shell cd $(JDK_TOPDIR) 2> $(DEV_NULL) && pwd)/make/tools/msys_build_scripts/dospath.sh
96 define FullPath
97 $(subst \,/,$(shell $(DOSPATH_CMD) $1))
98 endef
99 define OptFullPath
100 $(shell if [ "$1" != "" -a -d "$1" ]; then (cd $1 && pwd); else echo "$1"; fi)
101 endef
102 else
94 # Temporary until we upgrade to MKS 8.7, MKS pwd returns mixed mode path 103 # Temporary until we upgrade to MKS 8.7, MKS pwd returns mixed mode path
95 define FullPath 104 define FullPath
96 $(shell cd $1 2> $(DEV_NULL) && pwd) 105 $(shell cd $1 2> $(DEV_NULL) && pwd)
97 endef 106 endef
98 define OptFullPath 107 define OptFullPath
99 $(shell if [ "$1" != "" -a -d "$1" ]; then (cd $1 && pwd); else echo "$1"; fi) 108 $(shell if [ "$1" != "" -a -d "$1" ]; then (cd $1 && pwd); else echo "$1"; fi)
100 endef 109 endef
101 endif 110 endif
111 endif
102 112
103 # System drive 113 # System drive
104 ifdef SYSTEMDRIVE 114 ifdef SYSTEMDRIVE
105 _system_drive =$(SYSTEMDRIVE) 115 _system_drive =$(SYSTEMDRIVE)
106 else 116 else
110 endif 120 endif
111 _system_drive:=$(call CheckValue,_system_drive,C:) 121 _system_drive:=$(call CheckValue,_system_drive,C:)
112 122
113 # UNIXCOMMAND_PATH: path to where the most common Unix commands are. 123 # UNIXCOMMAND_PATH: path to where the most common Unix commands are.
114 # NOTE: Must end with / so that it could be empty, allowing PATH usage. 124 # NOTE: Must end with / so that it could be empty, allowing PATH usage.
115 ifndef UNIXCOMMAND_PATH 125 # With cygwin, use this as is; don't use FullPath on it.
116 ifdef ALT_UNIXCOMMAND_PATH 126 ifdef ALT_UNIXCOMMAND_PATH
127 ifdef USING_CYGWIN
128 UNIXCOMMAND_PATH :=$(call PrefixPath,$(ALT_UNIXCOMMAND_PATH))
129 else
117 xALT_UNIXCOMMAND_PATH :="$(subst \,/,$(ALT_UNIXCOMMAND_PATH))" 130 xALT_UNIXCOMMAND_PATH :="$(subst \,/,$(ALT_UNIXCOMMAND_PATH))"
118 fxALT_UNIXCOMMAND_PATH :=$(call FullPath,$(xALT_UNIXCOMMAND_PATH)) 131 fxALT_UNIXCOMMAND_PATH :=$(call FullPath,$(xALT_UNIXCOMMAND_PATH))
119 UNIXCOMMAND_PATH :=$(call PrefixPath,$(fxALT_UNIXCOMMAND_PATH)) 132 UNIXCOMMAND_PATH :=$(call PrefixPath,$(fxALT_UNIXCOMMAND_PATH))
120 else 133 endif
121 ifdef USING_CYGWIN 134 else
122 UNIXCOMMAND_PATH :=$(call PrefixPath,/usr/bin) 135 ifdef USING_CYGWIN
136 UNIXCOMMAND_PATH :=$(call PrefixPath,/usr/bin)
137 else
138 ifdef USING_MSYS
139 UNIXCOMMAND_PATH :=$(call PrefixPath,/bin)
123 else 140 else
124 ifdef ROOTDIR 141 ifdef ROOTDIR
125 xROOTDIR :="$(subst \,/,$(ROOTDIR))" 142 xROOTDIR :="$(subst \,/,$(ROOTDIR))"
126 _rootdir :=$(call FullPath,$(xROOTDIR)) 143 _rootdir :=$(call FullPath,$(xROOTDIR))
127 else 144 else
129 _rootdir :=$(call FullPath,$(xROOTDIR)) 146 _rootdir :=$(call FullPath,$(xROOTDIR))
130 endif 147 endif
131 ifneq ($(_rootdir),) 148 ifneq ($(_rootdir),)
132 UNIXCOMMAND_PATH :=$(call PrefixPath,$(_rootdir)/mksnt) 149 UNIXCOMMAND_PATH :=$(call PrefixPath,$(_rootdir)/mksnt)
133 endif 150 endif
134 endif 151 endif # USING_MSYS
135 endif 152 endif # USING_CYGWIN
136 UNIXCOMMAND_PATH:=$(call AltCheckSpaces,UNIXCOMMAND_PATH) 153 endif
137 export UNIXCOMMAND_PATH 154 UNIXCOMMAND_PATH:=$(call AltCheckSpaces,UNIXCOMMAND_PATH)
138 endif 155 export UNIXCOMMAND_PATH
139 156
140 # Get version of MKS or CYGWIN 157 # Get version of MKS or CYGWIN
141 ifdef USING_CYGWIN 158 ifdef USING_MKS
142 ifndef CYGWIN_VER 159 _MKS_VER :=$(shell $(MKSINFO) 2>&1 | $(GREP) Release | $(TAIL) -1 | $(SED) -e 's@.*\(Release.*\)@\1@')
143 _CYGWIN_VER :=$(shell $(UNAME)) 160 MKS_VER :=$(call GetVersion,$(_MKS_VER))
144 CYGWIN_VER :=$(call GetVersion,$(_CYGWIN_VER)) 161 # At this point, we can re-define FullPath to use DOSNAME_CMD
145 export CYGWIN_VER 162 CHECK_MKS87:=$(call CheckVersions,$(MKS_VER),8.7)
146 endif 163 TRY_DOSNAME:=false
147 else # MKS 164 ifeq ($(CHECK_MKS87),same)
148 _MKS_VER :=$(shell $(MKSINFO) 2>&1 | $(GREP) Release | $(TAIL) -1 | $(SED) -e 's@.*\(Release.*\)@\1@') 165 TRY_DOSNAME:=true
149 MKS_VER :=$(call GetVersion,$(_MKS_VER)) 166 endif
150 # At this point, we can re-define FullPath to use DOSNAME_CMD 167 # Newer should be ok
151 CHECK_MKS87:=$(call CheckVersions,$(MKS_VER),8.7) 168 ifeq ($(CHECK_MKS87),newer)
152 TRY_DOSNAME:=false 169 TRY_DOSNAME:=true
153 ifeq ($(CHECK_MKS87),same) 170 endif
154 TRY_DOSNAME:=true 171 ifeq ($(TRY_DOSNAME),true)
155 endif 172 ifeq ($(shell $(UNIXCOMMAND_PATH)dosname -s $(_system_drive)/ 2> $(DEV_NULL)),$(_system_drive)/)
156 # Newer should be ok 173 _DOSNAME=$(UNIXCOMMAND_PATH)dosname
157 ifeq ($(CHECK_MKS87),newer) 174 DOSNAME_CMD:=$(_DOSNAME) -s
158 TRY_DOSNAME:=true
159 endif
160 ifeq ($(TRY_DOSNAME),true)
161 ifeq ($(shell $(UNIXCOMMAND_PATH)dosname -s $(_system_drive)/ 2> $(DEV_NULL)),$(_system_drive)/)
162 _DOSNAME=$(UNIXCOMMAND_PATH)dosname
163 DOSNAME_CMD:=$(_DOSNAME) -s
164 define FullPath 175 define FullPath
165 $(subst //,/,$(shell echo $1 | $(DOSNAME_CMD) 2> $(DEV_NULL))) 176 $(subst //,/,$(shell echo $1 | $(DOSNAME_CMD) 2> $(DEV_NULL)))
166 endef 177 endef
167 endif # test dosname -s 178 endif # test dosname -s
168 endif # TRY_DOSNAME 179 endif # TRY_DOSNAME
169 endif # MKS 180 endif # MKS
170 181
171 # We try to get references to what we need via the default component 182 # We try to get references to what we need via the default component
172 # environment variables, or what was used historically. 183 # environment variables, or what was used historically.
173 184
238 endif 249 endif
239 250
240 # DEVTOOLS_PATH: for other tools required for building (such as zip, etc.) 251 # DEVTOOLS_PATH: for other tools required for building (such as zip, etc.)
241 # NOTE: Must end with / so that it could be empty, allowing PATH usage. 252 # NOTE: Must end with / so that it could be empty, allowing PATH usage.
242 ifndef DEVTOOLS_PATH 253 ifndef DEVTOOLS_PATH
254 # DEVTOOLS_PATH: for other tools required for building (such as zip, etc.)
255 # NOTE: Must end with / so that it could be empty, allowing PATH usage.
243 ifdef ALT_DEVTOOLS_PATH 256 ifdef ALT_DEVTOOLS_PATH
244 xALT_DEVTOOLS_PATH :="$(subst \,/,$(ALT_DEVTOOLS_PATH))" 257 xALT_DEVTOOLS_PATH :="$(subst \,/,$(ALT_DEVTOOLS_PATH))"
245 fxALT_DEVTOOLS_PATH :=$(call FullPath,$(xALT_DEVTOOLS_PATH)) 258 fxALT_DEVTOOLS_PATH :=$(call FullPath,$(xALT_DEVTOOLS_PATH))
246 DEVTOOLS_PATH :=$(call PrefixPath,$(fxALT_DEVTOOLS_PATH)) 259 DEVTOOLS_PATH :=$(call PrefixPath,$(fxALT_DEVTOOLS_PATH))
247 else 260 else
248 ifdef USING_CYGWIN 261 ifdef USING_CYGWIN
249 DEVTOOLS_PATH :=$(UNIXCOMMAND_PATH) 262 DEVTOOLS_PATH :=$(UNIXCOMMAND_PATH)
250 else 263 else
251 xDEVTOOLS_PATH :="$(_system_drive)/utils" 264 ifdef USING_MSYS
252 fxDEVTOOLS_PATH :=$(call FullPath,$(xDEVTOOLS_PATH)) 265 DEVTOOLS_PATH :=$(UNIXCOMMAND_PATH)
253 DEVTOOLS_PATH :=$(call PrefixPath,$(fxDEVTOOLS_PATH)) 266 else
254 endif 267 xDEVTOOLS_PATH :="$(_system_drive)/utils"
268 fxDEVTOOLS_PATH :=$(call FullPath,$(xDEVTOOLS_PATH))
269 DEVTOOLS_PATH :=$(call PrefixPath,$(fxDEVTOOLS_PATH))
270 endif # USING_MSYS
271 endif # USING_CYGWIN
255 endif 272 endif
256 DEVTOOLS_PATH:=$(call AltCheckSpaces,DEVTOOLS_PATH) 273 DEVTOOLS_PATH:=$(call AltCheckSpaces,DEVTOOLS_PATH)
257 export DEVTOOLS_PATH 274 export DEVTOOLS_PATH
258 endif 275 endif
259 276

mercurial