Mercurial > hg > truffle
annotate make/defs.make @ 5813:3b8bc07f8d17
Add ability to give an existing to getDebugProperties
Add nameTemplate to NodeInfo, use it in binary graphs
improve binary graph protocol (transmit NodeClass through the constant pool including nameTemplate and edges names, transmit edges as part of nodes and blocks)
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Tue, 10 Jul 2012 15:02:41 +0200 |
parents | f09ae3853e3b |
children | 7292cff45988 |
rev | line source |
---|---|
0 | 1 # |
4865
481a9443f721
7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
4800
diff
changeset
|
2 # Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. |
0 | 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. | |
8 # | |
9 # This code is distributed in the hope that it will be useful, but WITHOUT | |
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
12 # version 2 for more details (a copy is included in the LICENSE file that | |
13 # accompanied this code). | |
14 # | |
15 # You should have received a copy of the GNU General Public License version | |
16 # 2 along with this work; if not, write to the Free Software Foundation, | |
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
18 # | |
1552
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1185
diff
changeset
|
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1185
diff
changeset
|
20 # or visit www.oracle.com if you need additional information or have any |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1185
diff
changeset
|
21 # questions. |
0 | 22 # |
23 # | |
24 | |
25 # The common definitions for hotspot builds. | |
26 | |
27 # Default to verbose build logs (show all compile lines): | |
28 MAKE_VERBOSE=y | |
29 | |
30 # Make macros for install files or preparing targets | |
31 CD=cd | |
32 CP=cp | |
33 ECHO=echo | |
34 GREP=grep | |
35 MKDIR=mkdir | |
36 MV=mv | |
37 PWD=pwd | |
38 RM=rm -f | |
39 SED=sed | |
40 TAR=tar | |
41 ZIPEXE=zip | |
42 | |
43 define install-file | |
44 @$(MKDIR) -p $(@D) | |
45 @$(RM) $@ | |
46 $(CP) $< $@ | |
47 endef | |
48 define prep-target | |
49 @$(MKDIR) -p $(@D) | |
50 @$(RM) $@ | |
51 endef | |
52 | |
53 # Directory paths and user name | |
54 # Unless GAMMADIR is set on the command line, search upward from | |
55 # the current directory for a parent directory containing "src/share/vm". | |
56 # If that fails, look for $GAMMADIR in the environment. | |
57 # When the tree of subdirs is built, this setting is stored in each flags.make. | |
58 GAMMADIR := $(shell until ([ -d dev ]&&echo $${GAMMADIR:-/GAMMADIR/}) || ([ -d src/share/vm ]&&pwd); do cd ..; done) | |
59 HS_SRC_DIR=$(GAMMADIR)/src | |
91
a294fd0c4b38
6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents:
0
diff
changeset
|
60 HS_MAKE_DIR=$(GAMMADIR)/make |
0 | 61 HS_BUILD_DIR=$(GAMMADIR)/build |
62 | |
63 ifeq ($(USER),) | |
64 USER=$(USERNAME) | |
65 endif | |
66 | |
67 # hotspot version definitions | |
68 include $(GAMMADIR)/make/hotspot_version | |
69 | |
70 # Java versions needed | |
71 ifeq ($(PREVIOUS_JDK_VERSION),) | |
72 PREVIOUS_JDK_VERSION=$(JDK_PREVIOUS_VERSION) | |
73 endif | |
74 ifeq ($(JDK_MAJOR_VERSION),) | |
75 JDK_MAJOR_VERSION=$(JDK_MAJOR_VER) | |
76 endif | |
77 ifeq ($(JDK_MINOR_VERSION),) | |
78 JDK_MINOR_VERSION=$(JDK_MINOR_VER) | |
79 endif | |
80 ifeq ($(JDK_MICRO_VERSION),) | |
81 JDK_MICRO_VERSION=$(JDK_MICRO_VER) | |
82 endif | |
83 ifeq ($(JDK_MKTG_VERSION),) | |
84 JDK_MKTG_VERSION=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION) | |
85 endif | |
86 ifeq ($(JDK_VERSION),) | |
87 JDK_VERSION=$(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION) | |
88 endif | |
89 ifeq ($(FULL_VERSION),) | |
90 FULL_VERSION="$(JDK_VERSION)" | |
91 endif | |
92 | |
93 # FULL_VERSION is only used to define JRE_RELEASE_VERSION which is used | |
94 # as JRE version in VM -Xinternalversion output. | |
95 ifndef JRE_RELEASE_VERSION | |
96 JRE_RELEASE_VERSION=$(FULL_VERSION) | |
97 endif | |
98 | |
99 ifndef HOTSPOT_RELEASE_VERSION | |
100 HOTSPOT_RELEASE_VERSION=$(HS_MAJOR_VER).$(HS_MINOR_VER)-b$(HS_BUILD_NUMBER) | |
101 endif | |
102 | |
103 ifdef HOTSPOT_BUILD_VERSION | |
1977
c7db7adb83b4
6987107: Add variable to add to but not modify non-fcs version string
ohair
parents:
1681
diff
changeset
|
104 # specified in command line |
0 | 105 else |
1977
c7db7adb83b4
6987107: Add variable to add to but not modify non-fcs version string
ohair
parents:
1681
diff
changeset
|
106 ifdef COOKED_BUILD_NUMBER |
c7db7adb83b4
6987107: Add variable to add to but not modify non-fcs version string
ohair
parents:
1681
diff
changeset
|
107 # JRE build |
c7db7adb83b4
6987107: Add variable to add to but not modify non-fcs version string
ohair
parents:
1681
diff
changeset
|
108 HOTSPOT_BUILD_VERSION= |
0 | 109 else |
1977
c7db7adb83b4
6987107: Add variable to add to but not modify non-fcs version string
ohair
parents:
1681
diff
changeset
|
110 ifdef USER_RELEASE_SUFFIX |
c7db7adb83b4
6987107: Add variable to add to but not modify non-fcs version string
ohair
parents:
1681
diff
changeset
|
111 HOTSPOT_BUILD_VERSION=internal-$(USER_RELEASE_SUFFIX) |
0 | 112 else |
113 HOTSPOT_BUILD_VERSION=internal | |
114 endif | |
115 endif | |
116 endif | |
117 | |
118 # Windows should have OS predefined | |
119 ifeq ($(OS),) | |
120 OS := $(shell uname -s) | |
3960 | 121 ifneq ($(findstring BSD,$(OS)),) |
122 OS=bsd | |
123 endif | |
124 ifeq ($(OS), Darwin) | |
125 OS=bsd | |
126 endif | |
0 | 127 HOST := $(shell uname -n) |
128 endif | |
129 | |
3960 | 130 # If not SunOS, not Linux and not BSD, assume Windows |
0 | 131 ifneq ($(OS), Linux) |
132 ifneq ($(OS), SunOS) | |
3960 | 133 ifneq ($(OS), bsd) |
134 OSNAME=windows | |
135 else | |
136 OSNAME=bsd | |
137 endif | |
0 | 138 else |
139 OSNAME=solaris | |
140 endif | |
141 else | |
142 OSNAME=linux | |
143 endif | |
144 | |
145 # Determinations of default make arguments and platform specific settings | |
146 MAKE_ARGS= | |
147 | |
148 # ARCH_DATA_MODEL==64 is equivalent to LP64=1 | |
149 ifeq ($(ARCH_DATA_MODEL), 64) | |
150 ifndef LP64 | |
151 LP64 := 1 | |
152 endif | |
153 endif | |
154 | |
155 # Defaults set for product build | |
156 EXPORT_SUBDIR= | |
157 | |
158 # Change default /java path if requested | |
159 ifneq ($(ALT_SLASH_JAVA),) | |
160 SLASH_JAVA=$(ALT_SLASH_JAVA) | |
161 endif | |
162 | |
163 # Default OUTPUTDIR | |
164 OUTPUTDIR=$(HS_BUILD_DIR)/$(OSNAME) | |
165 ifneq ($(ALT_OUTPUTDIR),) | |
166 OUTPUTDIR=$(ALT_OUTPUTDIR) | |
167 endif | |
168 | |
169 # Find latest promoted JDK area | |
170 JDK_IMPORT_PATH=$(SLASH_JAVA)/re/j2se/$(JDK_VERSION)/promoted/latest/binaries/$(PLATFORM) | |
171 ifneq ($(ALT_JDK_IMPORT_PATH),) | |
172 JDK_IMPORT_PATH=$(ALT_JDK_IMPORT_PATH) | |
173 endif | |
174 | |
2237
b76d12f4ab2d
7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents:
1977
diff
changeset
|
175 # Other parts of JDK build may require an import JDK that can be executed |
b76d12f4ab2d
7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents:
1977
diff
changeset
|
176 # on the build host. For cross-compile builds we also need an import JDK |
b76d12f4ab2d
7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents:
1977
diff
changeset
|
177 # that matches the target arch, so for that we set ALT_JDK_TARGET_IMPORT_PATH |
b76d12f4ab2d
7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents:
1977
diff
changeset
|
178 ifneq ($(ALT_JDK_TARGET_IMPORT_PATH),) |
b76d12f4ab2d
7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents:
1977
diff
changeset
|
179 JDK_IMPORT_PATH=$(ALT_JDK_TARGET_IMPORT_PATH) |
b76d12f4ab2d
7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents:
1977
diff
changeset
|
180 endif |
b76d12f4ab2d
7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents:
1977
diff
changeset
|
181 |
0 | 182 # Find JDK used for javac compiles |
183 BOOTDIR=$(SLASH_JAVA)/re/j2se/$(PREVIOUS_JDK_VERSION)/latest/binaries/$(PLATFORM) | |
184 ifneq ($(ALT_BOOTDIR),) | |
185 BOOTDIR=$(ALT_BOOTDIR) | |
186 endif | |
187 | |
4865
481a9443f721
7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
4800
diff
changeset
|
188 # Select name of the export directory and honor ALT overrides |
481a9443f721
7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
4800
diff
changeset
|
189 EXPORT_PATH=$(OUTPUTDIR)/export-$(PLATFORM)$(EXPORT_SUBDIR) |
481a9443f721
7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
4800
diff
changeset
|
190 ifneq ($(ALT_EXPORT_PATH),) |
481a9443f721
7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
4800
diff
changeset
|
191 EXPORT_PATH=$(ALT_EXPORT_PATH) |
481a9443f721
7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
4800
diff
changeset
|
192 endif |
481a9443f721
7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
4800
diff
changeset
|
193 |
481a9443f721
7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
4800
diff
changeset
|
194 # Default jdk image if one is created for you with create_jdk |
481a9443f721
7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
4800
diff
changeset
|
195 JDK_IMAGE_DIR=$(OUTPUTDIR)/jdk-$(PLATFORM) |
4940
f09ae3853e3b
7143766: add ALT_JDK_IMAGE_DIR and improve test_jdk
twisti
parents:
4865
diff
changeset
|
196 ifneq ($(ALT_JDK_IMAGE_DIR),) |
f09ae3853e3b
7143766: add ALT_JDK_IMAGE_DIR and improve test_jdk
twisti
parents:
4865
diff
changeset
|
197 JDK_IMAGE_DIR=$(ALT_JDK_IMAGE_DIR) |
f09ae3853e3b
7143766: add ALT_JDK_IMAGE_DIR and improve test_jdk
twisti
parents:
4865
diff
changeset
|
198 endif |
4865
481a9443f721
7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
4800
diff
changeset
|
199 |
0 | 200 # The platform dependent defs.make defines platform specific variable such |
201 # as ARCH, EXPORT_LIST etc. We must place the include here after BOOTDIR is defined. | |
91
a294fd0c4b38
6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents:
0
diff
changeset
|
202 include $(GAMMADIR)/make/$(OSNAME)/makefiles/defs.make |
0 | 203 |
204 # We are trying to put platform specific defintions | |
91
a294fd0c4b38
6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents:
0
diff
changeset
|
205 # files to make/$(OSNAME)/makefiles dictory. However |
0 | 206 # some definitions are common for both linux and solaris, |
207 # so we put them here. | |
208 ifneq ($(OSNAME),windows) | |
91
a294fd0c4b38
6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents:
0
diff
changeset
|
209 ABS_OUTPUTDIR := $(shell mkdir -p $(OUTPUTDIR); $(CD) $(OUTPUTDIR); $(PWD)) |
0 | 210 ABS_BOOTDIR := $(shell $(CD) $(BOOTDIR); $(PWD)) |
211 ABS_GAMMADIR := $(shell $(CD) $(GAMMADIR); $(PWD)) | |
91
a294fd0c4b38
6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents:
0
diff
changeset
|
212 ABS_OS_MAKEFILE := $(shell $(CD) $(HS_MAKE_DIR)/$(OSNAME); $(PWD))/Makefile |
0 | 213 |
214 # uname, HotSpot source directory, build directory and JDK use different names | |
215 # for CPU architectures. | |
216 # ARCH - uname output | |
217 # SRCARCH - where to find HotSpot cpu and os_cpu source files | |
218 # BUILDARCH - build directory | |
219 # LIBARCH - directory name in JDK/JRE | |
220 | |
221 # Use uname output for SRCARCH, but deal with platform differences. If ARCH | |
222 # is not explicitly listed below, it is treated as x86. | |
1681
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
223 SRCARCH = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 arm ppc zero,$(ARCH))) |
0 | 224 ARCH/ = x86 |
225 ARCH/sparc = sparc | |
226 ARCH/sparc64= sparc | |
227 ARCH/ia64 = ia64 | |
228 ARCH/amd64 = x86 | |
229 ARCH/x86_64 = x86 | |
1681
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
230 ARCH/ppc64 = ppc |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
231 ARCH/ppc = ppc |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
232 ARCH/arm = arm |
1010 | 233 ARCH/zero = zero |
0 | 234 |
235 # BUILDARCH is usually the same as SRCARCH, except for sparcv9 | |
236 BUILDARCH = $(SRCARCH) | |
237 ifeq ($(BUILDARCH), x86) | |
238 ifdef LP64 | |
239 BUILDARCH = amd64 | |
240 else | |
241 BUILDARCH = i486 | |
242 endif | |
243 endif | |
244 ifeq ($(BUILDARCH), sparc) | |
245 ifdef LP64 | |
246 BUILDARCH = sparcv9 | |
247 endif | |
248 endif | |
249 | |
250 # LIBARCH is 1:1 mapping from BUILDARCH | |
251 LIBARCH = $(LIBARCH/$(BUILDARCH)) | |
252 LIBARCH/i486 = i386 | |
253 LIBARCH/amd64 = amd64 | |
254 LIBARCH/sparc = sparc | |
255 LIBARCH/sparcv9 = sparcv9 | |
256 LIBARCH/ia64 = ia64 | |
1681
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
257 LIBARCH/ppc64 = ppc |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
258 LIBARCH/ppc = ppc |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
259 LIBARCH/arm = arm |
1010 | 260 LIBARCH/zero = $(ZERO_LIBARCH) |
0 | 261 |
1010 | 262 LP64_ARCH = sparcv9 amd64 ia64 zero |
0 | 263 endif |
264 | |
265 # Required make macro settings for all platforms | |
266 MAKE_ARGS += JAVA_HOME=$(ABS_BOOTDIR) | |
228
f232d7d67023
6717128: Using relative path for ALT_OUTPUTDIR does not work properly
xlu
parents:
198
diff
changeset
|
267 MAKE_ARGS += OUTPUTDIR=$(ABS_OUTPUTDIR) |
0 | 268 MAKE_ARGS += GAMMADIR=$(ABS_GAMMADIR) |
269 MAKE_ARGS += MAKE_VERBOSE=$(MAKE_VERBOSE) | |
270 MAKE_ARGS += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION) | |
271 MAKE_ARGS += JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION) | |
272 | |
273 # Pass HOTSPOT_BUILD_VERSION as argument to OS specific Makefile | |
274 # to overwrite the default definition since OS specific Makefile also | |
275 # includes this make/defs.make file. | |
276 MAKE_ARGS += HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION) | |
277 | |
278 # Various export sub directories | |
279 EXPORT_INCLUDE_DIR = $(EXPORT_PATH)/include | |
280 EXPORT_DOCS_DIR = $(EXPORT_PATH)/docs | |
281 EXPORT_LIB_DIR = $(EXPORT_PATH)/lib | |
282 EXPORT_JRE_DIR = $(EXPORT_PATH)/jre | |
283 EXPORT_JRE_BIN_DIR = $(EXPORT_JRE_DIR)/bin | |
284 EXPORT_JRE_LIB_DIR = $(EXPORT_JRE_DIR)/lib | |
285 EXPORT_JRE_LIB_ARCH_DIR = $(EXPORT_JRE_LIB_DIR)/$(LIBARCH) | |
286 | |
4006 | 287 # non-universal macosx builds need to appear universal |
288 ifeq ($(OS_VENDOR), Darwin) | |
289 ifneq ($(MACOSX_UNIVERSAL), true) | |
290 EXPORT_JRE_LIB_ARCH_DIR = $(EXPORT_JRE_LIB_DIR) | |
291 endif | |
292 endif | |
293 | |
0 | 294 # Common export list of files |
295 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jvmti.h | |
1184
7fbf850d87b7
6580131: 3/4 CompiledMethodLoad events don't produce the expected extra notifications to describe inlining
dcubed
parents:
235
diff
changeset
|
296 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jvmticmlr.h |
0 | 297 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jni.h |
298 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/$(JDK_INCLUDE_SUBDIR)/jni_md.h | |
299 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jmm.h | |
4800
94ec88ca68e2
7115199: Add event tracing hooks and Java Flight Recorder infrastructure
phh
parents:
4006
diff
changeset
|
300 |
94ec88ca68e2
7115199: Add event tracing hooks and Java Flight Recorder infrastructure
phh
parents:
4006
diff
changeset
|
301 ifndef JAVASE_EMBEDDED |
94ec88ca68e2
7115199: Add event tracing hooks and Java Flight Recorder infrastructure
phh
parents:
4006
diff
changeset
|
302 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jfr.h |
94ec88ca68e2
7115199: Add event tracing hooks and Java Flight Recorder infrastructure
phh
parents:
4006
diff
changeset
|
303 endif |