105 ifeq ($(SHARK_BUILD), true)
106 JVM_VARIANTS:=zeroshark
107 JVM_VARIANT_ZEROSHARK:=true
108 else
109 JVM_VARIANTS:=zero
110 JVM_VARIANT_ZERO:=true
111 endif
112 else
113 # A default is needed
114 ifeq ($(BUILD_CLIENT_ONLY), true)
115 JVM_VARIANTS:=client
116 JVM_VARIANT_CLIENT:=true
117 endif
118 # Further defaults are platform and arch specific
119 endif
120 endif
121
122 # hotspot version definitions
123 include $(GAMMADIR)/make/jdk_version
124
125 # Java versions needed
126 ifeq ($(PREVIOUS_JDK_VERSION),)
127 PREVIOUS_JDK_VERSION=$(JDK_PREVIOUS_VERSION)
128 endif
129 ifeq ($(JDK_MAJOR_VERSION),)
130 JDK_MAJOR_VERSION=$(JDK_MAJOR_VER)
131 endif
132 ifeq ($(JDK_MINOR_VERSION),)
133 JDK_MINOR_VERSION=$(JDK_MINOR_VER)
134 endif
135 ifeq ($(JDK_MICRO_VERSION),)
136 JDK_MICRO_VERSION=$(JDK_MICRO_VER)
137 endif
138 ifeq ($(JDK_BUILD_NUMBER),)
139 JDK_BUILD_NUMBER=0
140 endif
141 ifeq ($(JDK_MKTG_VERSION),)
142 JDK_MKTG_VERSION=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
143 endif
144 ifeq ($(JDK_VERSION),)
145 ifeq ($(BUILD_FLAVOR), product)
146 JDK_VERSION=$(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
147 else
148 JDK_VERSION=$(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)-$(BUILD_FLAVOR)
149 endif
150 endif
151 ifeq ($(FULL_VERSION),)
152 FULL_VERSION="$(JDK_VERSION)"
153 endif
154
155 # FULL_VERSION is only used to define JRE_RELEASE_VERSION which is used
156 # as JRE version in VM -Xinternalversion output.
157 ifndef JRE_RELEASE_VERSION
158 JRE_RELEASE_VERSION=$(FULL_VERSION)
159 endif
160
161 ifndef HOTSPOT_RELEASE_VERSION
162 HOTSPOT_RELEASE_VERSION=$(FULL_VERSION)
163 endif
164
165 ifdef HOTSPOT_BUILD_VERSION
166 # specified in command line
167 else
168 ifdef COOKED_BUILD_NUMBER
169 # JRE build
170 HOTSPOT_BUILD_VERSION=
171 else
172 ifdef USER_RELEASE_SUFFIX
173 HOTSPOT_BUILD_VERSION=internal-$(USER_RELEASE_SUFFIX)
174 else
175 HOTSPOT_BUILD_VERSION=internal
176 endif
177 endif
178 endif
179
180 # Windows should have OS predefined
181 ifeq ($(OS),)
182 OS := $(shell uname -s)
183 ifneq ($(findstring BSD,$(OS)),)
184 OS=bsd
185 endif
186 ifeq ($(OS), Darwin)
187 OS=bsd
188 endif
189 HOST := $(shell uname -n)
190 endif
191
192 # If not SunOS, not Linux not BSD and not AIX, assume Windows
193 ifneq ($(OS), Linux)
194 ifneq ($(OS), SunOS)
195 ifneq ($(OS), bsd)
196 ifneq ($(OS), AIX)
216 ifndef LP64
217 LP64 := 1
218 endif
219 endif
220
221 # Defaults set for product build
222 EXPORT_SUBDIR=
223
224 # Change default /java path if requested
225 ifneq ($(ALT_SLASH_JAVA),)
226 SLASH_JAVA=$(ALT_SLASH_JAVA)
227 endif
228
229 # Default OUTPUTDIR
230 OUTPUTDIR=$(HS_BUILD_DIR)/$(OSNAME)
231 ifneq ($(ALT_OUTPUTDIR),)
232 OUTPUTDIR=$(ALT_OUTPUTDIR)
233 endif
234
235 # Find latest promoted JDK area
236 JDK_IMPORT_PATH=$(SLASH_JAVA)/re/j2se/$(JDK_VERSION)/promoted/latest/binaries/$(PLATFORM)
237 ifneq ($(ALT_JDK_IMPORT_PATH),)
238 JDK_IMPORT_PATH=$(ALT_JDK_IMPORT_PATH)
239 endif
240
241 # Other parts of JDK build may require an import JDK that can be executed
242 # on the build host. For cross-compile builds we also need an import JDK
243 # that matches the target arch, so for that we set ALT_JDK_TARGET_IMPORT_PATH
244 ifneq ($(ALT_JDK_TARGET_IMPORT_PATH),)
245 JDK_IMPORT_PATH=$(ALT_JDK_TARGET_IMPORT_PATH)
246 endif
247
248 # Find JDK used for javac compiles
249 BOOTDIR=$(SLASH_JAVA)/re/j2se/$(PREVIOUS_JDK_VERSION)/latest/binaries/$(PLATFORM)
250 ifneq ($(ALT_BOOTDIR),)
251 BOOTDIR=$(ALT_BOOTDIR)
252 endif
253
254 # Select name of the export directory and honor ALT overrides
255 EXPORT_PATH=$(OUTPUTDIR)/export-$(PLATFORM)$(EXPORT_SUBDIR)
256 ifneq ($(ALT_EXPORT_PATH),)
257 EXPORT_PATH=$(ALT_EXPORT_PATH)
258 endif
259
260 # Default jdk image if one is created for you with create_jdk
261 JDK_IMAGE_DIR=$(OUTPUTDIR)/jdk-$(PLATFORM)
262 ifneq ($(ALT_JDK_IMAGE_DIR),)
263 JDK_IMAGE_DIR=$(ALT_JDK_IMAGE_DIR)
264 endif
265
266 # The platform dependent defs.make defines platform specific variable such
267 # as ARCH, EXPORT_LIST etc. We must place the include here after BOOTDIR is defined.
268 include $(GAMMADIR)/make/$(OSNAME)/makefiles/defs.make
269
320
321 # LIBARCH is 1:1 mapping from BUILDARCH
322 LIBARCH ?= $(LIBARCH/$(BUILDARCH))
323 LIBARCH/i486 = i386
324 LIBARCH/amd64 = amd64
325 LIBARCH/sparc = sparc
326 LIBARCH/sparcv9 = sparcv9
327 LIBARCH/ia64 = ia64
328 LIBARCH/ppc64 = ppc64
329 LIBARCH/aarch64 = aarch64
330 LIBARCH/zero = $(ZERO_LIBARCH)
331
332 LP64_ARCH = sparcv9 amd64 ia64 ppc64 aarch64 zero
333 endif
334
335 # Required make macro settings for all platforms
336 MAKE_ARGS += BOOTDIR=$(ABS_BOOTDIR)
337 MAKE_ARGS += OUTPUTDIR=$(ABS_OUTPUTDIR)
338 MAKE_ARGS += GAMMADIR=$(ABS_GAMMADIR)
339 MAKE_ARGS += MAKE_VERBOSE=$(MAKE_VERBOSE)
340 MAKE_ARGS += JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
341
342 # Pass HOTSPOT_BUILD_VERSION as argument to OS specific Makefile
343 # to overwrite the default definition since OS specific Makefile also
344 # includes this make/defs.make file.
345 MAKE_ARGS += HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION)
346
347 MAKE_ARGS += BOOT_JDK_SOURCETARGET="$(BOOT_JDK_SOURCETARGET)"
348
349 # Various export sub directories
350 EXPORT_INCLUDE_DIR = $(EXPORT_PATH)/include
351 EXPORT_DOCS_DIR = $(EXPORT_PATH)/docs
352 EXPORT_LIB_DIR = $(EXPORT_PATH)/lib
353 EXPORT_BIN_DIR = $(EXPORT_PATH)/bin
354 EXPORT_LIB_ARCH_DIR = $(EXPORT_LIB_DIR)/$(LIBARCH)
355
356 # non-universal macosx builds need to appear universal
357 ifeq ($(OS_VENDOR), Darwin)
358 ifneq ($(MACOSX_UNIVERSAL), true)
359 EXPORT_LIB_ARCH_DIR = $(EXPORT_LIB_DIR)
360 endif
361 endif
362
363 # Common export list of files
364 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jvmti.h
365 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jvmticmlr.h
|
105 ifeq ($(SHARK_BUILD), true)
106 JVM_VARIANTS:=zeroshark
107 JVM_VARIANT_ZEROSHARK:=true
108 else
109 JVM_VARIANTS:=zero
110 JVM_VARIANT_ZERO:=true
111 endif
112 else
113 # A default is needed
114 ifeq ($(BUILD_CLIENT_ONLY), true)
115 JVM_VARIANTS:=client
116 JVM_VARIANT_CLIENT:=true
117 endif
118 # Further defaults are platform and arch specific
119 endif
120 endif
121
122 # hotspot version definitions
123 include $(GAMMADIR)/make/jdk_version
124
125 # JDK_PREVIOUS_VERSION is only needed to facilitate standalone builds
126 ifeq ($(JDK_PREVIOUS_VERSION),)
127 JDK_PREVIOUS_VERSION=$(STANDALONE_JDK_PREVIOUS_VERSION)
128 endif
129 # Java versions needed
130 ifeq ($(VERSION_MAJOR),)
131 VERSION_MAJOR=$(STANDALONE_JDK_MAJOR_VER)
132 endif
133 ifeq ($(VERSION_MINOR),)
134 VERSION_MINOR=$(STANDALONE_JDK_MINOR_VER)
135 endif
136 ifeq ($(VERSION_SECURITY),)
137 VERSION_SECURITY=$(STANDALONE_JDK_SECURITY_VER)
138 endif
139 ifeq ($(VERSION_PATCH),)
140 VERSION_PATCH=$(STANDALONE_JDK_PATCH_VER)
141 endif
142 ifeq ($(VERSION_BUILD),)
143 VERSION_BUILD=0
144 endif
145 ifeq ($(VERSION_SHORT),)
146 VERSION_SHORT=$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_SECURITY)
147 endif
148 ifeq ($(VERSION_STRING),)
149 # Note that this is an extremely rough and incorrect approximation of a correct version string.
150 VERSION_STRING=$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_SECURITY)-internal
151 endif
152
153 ifneq ($(HOTSPOT_RELEASE_VERSION),)
154 # Allow old command-line overrides
155 HOTSPOT_VERSION_STRING := $(HOTSPOT_RELEASE_VERSION)
156 else
157 # Normally get from surrounding JDK build
158 HOTSPOT_VERSION_STRING := $(VERSION_STRING)
159 endif
160
161 ifneq ($(HOTSPOT_BUILD_VERSION),)
162 # If old command-lines variable exists, append to version string
163 HOTSPOT_VERSION_STRING := $(HOTSPOT_VERSION_STRING)-$(HOTSPOT_BUILD_VERSION)
164 else
165 ifeq ($(SPEC),)
166 # If building standalone, add -internal.
167 HOTSPOT_VERSION_STRING := $(HOTSPOT_VERSION_STRING)-internal
168 endif
169 endif
170
171 # Windows should have OS predefined
172 ifeq ($(OS),)
173 OS := $(shell uname -s)
174 ifneq ($(findstring BSD,$(OS)),)
175 OS=bsd
176 endif
177 ifeq ($(OS), Darwin)
178 OS=bsd
179 endif
180 HOST := $(shell uname -n)
181 endif
182
183 # If not SunOS, not Linux not BSD and not AIX, assume Windows
184 ifneq ($(OS), Linux)
185 ifneq ($(OS), SunOS)
186 ifneq ($(OS), bsd)
187 ifneq ($(OS), AIX)
207 ifndef LP64
208 LP64 := 1
209 endif
210 endif
211
212 # Defaults set for product build
213 EXPORT_SUBDIR=
214
215 # Change default /java path if requested
216 ifneq ($(ALT_SLASH_JAVA),)
217 SLASH_JAVA=$(ALT_SLASH_JAVA)
218 endif
219
220 # Default OUTPUTDIR
221 OUTPUTDIR=$(HS_BUILD_DIR)/$(OSNAME)
222 ifneq ($(ALT_OUTPUTDIR),)
223 OUTPUTDIR=$(ALT_OUTPUTDIR)
224 endif
225
226 # Find latest promoted JDK area
227 JDK_IMPORT_PATH=$(SLASH_JAVA)/re/j2se/$(VERSION_STRING)/promoted/latest/binaries/$(PLATFORM)
228 ifneq ($(ALT_JDK_IMPORT_PATH),)
229 JDK_IMPORT_PATH=$(ALT_JDK_IMPORT_PATH)
230 endif
231
232 # Other parts of JDK build may require an import JDK that can be executed
233 # on the build host. For cross-compile builds we also need an import JDK
234 # that matches the target arch, so for that we set ALT_JDK_TARGET_IMPORT_PATH
235 ifneq ($(ALT_JDK_TARGET_IMPORT_PATH),)
236 JDK_IMPORT_PATH=$(ALT_JDK_TARGET_IMPORT_PATH)
237 endif
238
239 # Find JDK used for javac compiles
240 BOOTDIR=$(SLASH_JAVA)/re/j2se/$(JDK_PREVIOUS_VERSION)/latest/binaries/$(PLATFORM)
241 ifneq ($(ALT_BOOTDIR),)
242 BOOTDIR=$(ALT_BOOTDIR)
243 endif
244
245 # Select name of the export directory and honor ALT overrides
246 EXPORT_PATH=$(OUTPUTDIR)/export-$(PLATFORM)$(EXPORT_SUBDIR)
247 ifneq ($(ALT_EXPORT_PATH),)
248 EXPORT_PATH=$(ALT_EXPORT_PATH)
249 endif
250
251 # Default jdk image if one is created for you with create_jdk
252 JDK_IMAGE_DIR=$(OUTPUTDIR)/jdk-$(PLATFORM)
253 ifneq ($(ALT_JDK_IMAGE_DIR),)
254 JDK_IMAGE_DIR=$(ALT_JDK_IMAGE_DIR)
255 endif
256
257 # The platform dependent defs.make defines platform specific variable such
258 # as ARCH, EXPORT_LIST etc. We must place the include here after BOOTDIR is defined.
259 include $(GAMMADIR)/make/$(OSNAME)/makefiles/defs.make
260
311
312 # LIBARCH is 1:1 mapping from BUILDARCH
313 LIBARCH ?= $(LIBARCH/$(BUILDARCH))
314 LIBARCH/i486 = i386
315 LIBARCH/amd64 = amd64
316 LIBARCH/sparc = sparc
317 LIBARCH/sparcv9 = sparcv9
318 LIBARCH/ia64 = ia64
319 LIBARCH/ppc64 = ppc64
320 LIBARCH/aarch64 = aarch64
321 LIBARCH/zero = $(ZERO_LIBARCH)
322
323 LP64_ARCH = sparcv9 amd64 ia64 ppc64 aarch64 zero
324 endif
325
326 # Required make macro settings for all platforms
327 MAKE_ARGS += BOOTDIR=$(ABS_BOOTDIR)
328 MAKE_ARGS += OUTPUTDIR=$(ABS_OUTPUTDIR)
329 MAKE_ARGS += GAMMADIR=$(ABS_GAMMADIR)
330 MAKE_ARGS += MAKE_VERBOSE=$(MAKE_VERBOSE)
331 MAKE_ARGS += VERSION_STRING=$(VERSION_STRING)
332
333 MAKE_ARGS += BOOT_JDK_SOURCETARGET="$(BOOT_JDK_SOURCETARGET)"
334
335 # Various export sub directories
336 EXPORT_INCLUDE_DIR = $(EXPORT_PATH)/include
337 EXPORT_DOCS_DIR = $(EXPORT_PATH)/docs
338 EXPORT_LIB_DIR = $(EXPORT_PATH)/lib
339 EXPORT_BIN_DIR = $(EXPORT_PATH)/bin
340 EXPORT_LIB_ARCH_DIR = $(EXPORT_LIB_DIR)/$(LIBARCH)
341
342 # non-universal macosx builds need to appear universal
343 ifeq ($(OS_VENDOR), Darwin)
344 ifneq ($(MACOSX_UNIVERSAL), true)
345 EXPORT_LIB_ARCH_DIR = $(EXPORT_LIB_DIR)
346 endif
347 endif
348
349 # Common export list of files
350 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jvmti.h
351 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jvmticmlr.h
|