Mercurial > hg > graal-compiler
annotate make/defs.make @ 15388:769fc3629f59
Add phase FlowSensitiveReductionPhase.
It is possible to remove GuardingPiNodes, CheckCastNodes, and FixedGuards during
HighTier under certain conditions (control-flow sensitive conditions).
The phase added in this commit (FlowSensitiveReductionPhase) does that,
and in addition replaces usages with "downcasting" PiNodes when possible
thus resulting in more precise object stamps (e.g., non-null).
Finally, usages of floating, side-effects free, expressions are also simplified
(as per control-flow sensitive conditions).
The newly added phase runs only during HighTier and can be deactivated
using Graal option FlowSensitiveReduction (it is active by default).
author | Miguel Garcia <miguel.m.garcia@oracle.com> |
---|---|
date | Fri, 25 Apr 2014 16:50:52 +0200 |
parents | 4ca6dc0799b6 |
children | 0583d157992a |
rev | line source |
---|---|
0 | 1 # |
10405 | 2 # Copyright (c) 2006, 2013, 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. |
10405 | 22 # |
0 | 23 # |
24 | |
6854
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6774
diff
changeset
|
25 # The common definitions for hotspot builds. |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6774
diff
changeset
|
26 |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6774
diff
changeset
|
27 # Optionally include SPEC file generated by configure. |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6774
diff
changeset
|
28 ifneq ($(SPEC),) |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6774
diff
changeset
|
29 include $(SPEC) |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6774
diff
changeset
|
30 endif |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6774
diff
changeset
|
31 |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6774
diff
changeset
|
32 # Directory paths and user name |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6774
diff
changeset
|
33 # Unless GAMMADIR is set on the command line, search upward from |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6774
diff
changeset
|
34 # the current directory for a parent directory containing "src/share/vm". |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6774
diff
changeset
|
35 # If that fails, look for $GAMMADIR in the environment. |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6774
diff
changeset
|
36 # When the tree of subdirs is built, this setting is stored in each flags.make. |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6774
diff
changeset
|
37 GAMMADIR := $(shell until ([ -d dev ]&&echo $${GAMMADIR:-/GAMMADIR/}) || ([ -d src/share/vm ]&&pwd); do cd ..; done) |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6774
diff
changeset
|
38 HS_SRC_DIR=$(GAMMADIR)/src |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6774
diff
changeset
|
39 HS_MAKE_DIR=$(GAMMADIR)/make |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6774
diff
changeset
|
40 HS_BUILD_DIR=$(GAMMADIR)/build |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6774
diff
changeset
|
41 |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6774
diff
changeset
|
42 ifeq ($(USER),) |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6774
diff
changeset
|
43 USER=$(USERNAME) |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6774
diff
changeset
|
44 endif |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6774
diff
changeset
|
45 |
6641
a9fed06c01d2
7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents:
5946
diff
changeset
|
46 ifeq ($(HS_ALT_MAKE),) |
a9fed06c01d2
7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents:
5946
diff
changeset
|
47 ifneq ($(OPENJDK),true) |
a9fed06c01d2
7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents:
5946
diff
changeset
|
48 HS_ALT_MAKE=$(GAMMADIR)/make/closed |
a9fed06c01d2
7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents:
5946
diff
changeset
|
49 else |
a9fed06c01d2
7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents:
5946
diff
changeset
|
50 HS_ALT_MAKE=NO_SUCH_PATH |
a9fed06c01d2
7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents:
5946
diff
changeset
|
51 endif |
a9fed06c01d2
7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents:
5946
diff
changeset
|
52 endif |
a9fed06c01d2
7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents:
5946
diff
changeset
|
53 |
6854
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6774
diff
changeset
|
54 # |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6774
diff
changeset
|
55 # Include alternate defs.make if it exists |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6774
diff
changeset
|
56 # |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6774
diff
changeset
|
57 -include $(HS_ALT_MAKE)/defs.make |
5897
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4940
diff
changeset
|
58 |
0 | 59 # Default to verbose build logs (show all compile lines): |
60 MAKE_VERBOSE=y | |
61 | |
62 # Make macros for install files or preparing targets | |
63 CD=cd | |
64 CP=cp | |
65 ECHO=echo | |
66 GREP=grep | |
67 MKDIR=mkdir | |
68 MV=mv | |
69 PWD=pwd | |
70 RM=rm -f | |
71 SED=sed | |
72 TAR=tar | |
73 ZIPEXE=zip | |
74 | |
75 define install-file | |
76 @$(MKDIR) -p $(@D) | |
77 @$(RM) $@ | |
78 $(CP) $< $@ | |
79 endef | |
12859
f509b8f4699b
7165611: implement Full Debug Symbols on MacOS X hotspot
dcubed
parents:
10405
diff
changeset
|
80 |
f509b8f4699b
7165611: implement Full Debug Symbols on MacOS X hotspot
dcubed
parents:
10405
diff
changeset
|
81 # MacOS X strongly discourages 'cp -r' and provides 'cp -R' instead. |
f509b8f4699b
7165611: implement Full Debug Symbols on MacOS X hotspot
dcubed
parents:
10405
diff
changeset
|
82 # May need to have a MacOS X specific definition of install-dir |
f509b8f4699b
7165611: implement Full Debug Symbols on MacOS X hotspot
dcubed
parents:
10405
diff
changeset
|
83 # sometime in the future. |
f509b8f4699b
7165611: implement Full Debug Symbols on MacOS X hotspot
dcubed
parents:
10405
diff
changeset
|
84 define install-dir |
f509b8f4699b
7165611: implement Full Debug Symbols on MacOS X hotspot
dcubed
parents:
10405
diff
changeset
|
85 @$(MKDIR) -p $(@D) |
f509b8f4699b
7165611: implement Full Debug Symbols on MacOS X hotspot
dcubed
parents:
10405
diff
changeset
|
86 @$(RM) -r $@ |
f509b8f4699b
7165611: implement Full Debug Symbols on MacOS X hotspot
dcubed
parents:
10405
diff
changeset
|
87 $(CP) -r $< $@ |
f509b8f4699b
7165611: implement Full Debug Symbols on MacOS X hotspot
dcubed
parents:
10405
diff
changeset
|
88 endef |
f509b8f4699b
7165611: implement Full Debug Symbols on MacOS X hotspot
dcubed
parents:
10405
diff
changeset
|
89 |
0 | 90 define prep-target |
91 @$(MKDIR) -p $(@D) | |
92 @$(RM) $@ | |
93 endef | |
94 | |
5946
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5897
diff
changeset
|
95 # Default values for JVM_VARIANT* variables if configure hasn't set |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5897
diff
changeset
|
96 # it already. |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5897
diff
changeset
|
97 ifeq ($(JVM_VARIANTS),) |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5897
diff
changeset
|
98 ifeq ($(ZERO_BUILD), true) |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5897
diff
changeset
|
99 ifeq ($(SHARK_BUILD), true) |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5897
diff
changeset
|
100 JVM_VARIANTS:=zeroshark |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5897
diff
changeset
|
101 JVM_VARIANT_ZEROSHARK:=true |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5897
diff
changeset
|
102 else |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5897
diff
changeset
|
103 JVM_VARIANTS:=zero |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5897
diff
changeset
|
104 JVM_VARIANT_ZERO:=true |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5897
diff
changeset
|
105 endif |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5897
diff
changeset
|
106 else |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5897
diff
changeset
|
107 # A default is needed |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5897
diff
changeset
|
108 ifeq ($(BUILD_CLIENT_ONLY), true) |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5897
diff
changeset
|
109 JVM_VARIANTS:=client |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5897
diff
changeset
|
110 JVM_VARIANT_CLIENT:=true |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5897
diff
changeset
|
111 endif |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5897
diff
changeset
|
112 # Further defaults are platform and arch specific |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5897
diff
changeset
|
113 endif |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5897
diff
changeset
|
114 endif |
3d7ea1dbe0de
7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents:
5897
diff
changeset
|
115 |
0 | 116 # hotspot version definitions |
117 include $(GAMMADIR)/make/hotspot_version | |
118 | |
119 # Java versions needed | |
120 ifeq ($(PREVIOUS_JDK_VERSION),) | |
121 PREVIOUS_JDK_VERSION=$(JDK_PREVIOUS_VERSION) | |
122 endif | |
123 ifeq ($(JDK_MAJOR_VERSION),) | |
124 JDK_MAJOR_VERSION=$(JDK_MAJOR_VER) | |
125 endif | |
126 ifeq ($(JDK_MINOR_VERSION),) | |
127 JDK_MINOR_VERSION=$(JDK_MINOR_VER) | |
128 endif | |
129 ifeq ($(JDK_MICRO_VERSION),) | |
130 JDK_MICRO_VERSION=$(JDK_MICRO_VER) | |
131 endif | |
132 ifeq ($(JDK_MKTG_VERSION),) | |
133 JDK_MKTG_VERSION=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION) | |
134 endif | |
135 ifeq ($(JDK_VERSION),) | |
136 JDK_VERSION=$(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION) | |
137 endif | |
138 ifeq ($(FULL_VERSION),) | |
139 FULL_VERSION="$(JDK_VERSION)" | |
140 endif | |
141 | |
142 # FULL_VERSION is only used to define JRE_RELEASE_VERSION which is used | |
143 # as JRE version in VM -Xinternalversion output. | |
144 ifndef JRE_RELEASE_VERSION | |
145 JRE_RELEASE_VERSION=$(FULL_VERSION) | |
146 endif | |
147 | |
148 ifndef HOTSPOT_RELEASE_VERSION | |
149 HOTSPOT_RELEASE_VERSION=$(HS_MAJOR_VER).$(HS_MINOR_VER)-b$(HS_BUILD_NUMBER) | |
150 endif | |
151 | |
152 ifdef HOTSPOT_BUILD_VERSION | |
1977
c7db7adb83b4
6987107: Add variable to add to but not modify non-fcs version string
ohair
parents:
1681
diff
changeset
|
153 # specified in command line |
0 | 154 else |
1977
c7db7adb83b4
6987107: Add variable to add to but not modify non-fcs version string
ohair
parents:
1681
diff
changeset
|
155 ifdef COOKED_BUILD_NUMBER |
c7db7adb83b4
6987107: Add variable to add to but not modify non-fcs version string
ohair
parents:
1681
diff
changeset
|
156 # JRE build |
c7db7adb83b4
6987107: Add variable to add to but not modify non-fcs version string
ohair
parents:
1681
diff
changeset
|
157 HOTSPOT_BUILD_VERSION= |
0 | 158 else |
1977
c7db7adb83b4
6987107: Add variable to add to but not modify non-fcs version string
ohair
parents:
1681
diff
changeset
|
159 ifdef USER_RELEASE_SUFFIX |
c7db7adb83b4
6987107: Add variable to add to but not modify non-fcs version string
ohair
parents:
1681
diff
changeset
|
160 HOTSPOT_BUILD_VERSION=internal-$(USER_RELEASE_SUFFIX) |
0 | 161 else |
162 HOTSPOT_BUILD_VERSION=internal | |
163 endif | |
164 endif | |
165 endif | |
166 | |
167 # Windows should have OS predefined | |
168 ifeq ($(OS),) | |
169 OS := $(shell uname -s) | |
3960 | 170 ifneq ($(findstring BSD,$(OS)),) |
171 OS=bsd | |
172 endif | |
173 ifeq ($(OS), Darwin) | |
174 OS=bsd | |
175 endif | |
0 | 176 HOST := $(shell uname -n) |
177 endif | |
178 | |
14909 | 179 # If not SunOS, not Linux and not BSD, assume Windows |
0 | 180 ifneq ($(OS), Linux) |
181 ifneq ($(OS), SunOS) | |
3960 | 182 ifneq ($(OS), bsd) |
14909 | 183 OSNAME=windows |
3960 | 184 else |
185 OSNAME=bsd | |
186 endif | |
0 | 187 else |
188 OSNAME=solaris | |
189 endif | |
190 else | |
191 OSNAME=linux | |
192 endif | |
193 | |
194 # Determinations of default make arguments and platform specific settings | |
195 MAKE_ARGS= | |
196 | |
197 # ARCH_DATA_MODEL==64 is equivalent to LP64=1 | |
198 ifeq ($(ARCH_DATA_MODEL), 64) | |
199 ifndef LP64 | |
200 LP64 := 1 | |
201 endif | |
202 endif | |
203 | |
204 # Defaults set for product build | |
205 EXPORT_SUBDIR= | |
206 | |
207 # Change default /java path if requested | |
208 ifneq ($(ALT_SLASH_JAVA),) | |
209 SLASH_JAVA=$(ALT_SLASH_JAVA) | |
210 endif | |
211 | |
212 # Default OUTPUTDIR | |
213 OUTPUTDIR=$(HS_BUILD_DIR)/$(OSNAME) | |
214 ifneq ($(ALT_OUTPUTDIR),) | |
215 OUTPUTDIR=$(ALT_OUTPUTDIR) | |
216 endif | |
217 | |
218 # Find latest promoted JDK area | |
219 JDK_IMPORT_PATH=$(SLASH_JAVA)/re/j2se/$(JDK_VERSION)/promoted/latest/binaries/$(PLATFORM) | |
220 ifneq ($(ALT_JDK_IMPORT_PATH),) | |
221 JDK_IMPORT_PATH=$(ALT_JDK_IMPORT_PATH) | |
222 endif | |
223 | |
2237
b76d12f4ab2d
7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents:
1977
diff
changeset
|
224 # 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
|
225 # 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
|
226 # 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
|
227 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
|
228 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
|
229 endif |
b76d12f4ab2d
7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents:
1977
diff
changeset
|
230 |
0 | 231 # Find JDK used for javac compiles |
232 BOOTDIR=$(SLASH_JAVA)/re/j2se/$(PREVIOUS_JDK_VERSION)/latest/binaries/$(PLATFORM) | |
233 ifneq ($(ALT_BOOTDIR),) | |
234 BOOTDIR=$(ALT_BOOTDIR) | |
235 endif | |
236 | |
4865
481a9443f721
7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
4800
diff
changeset
|
237 # 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
|
238 EXPORT_PATH=$(OUTPUTDIR)/export-$(PLATFORM)$(EXPORT_SUBDIR) |
481a9443f721
7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
4800
diff
changeset
|
239 ifneq ($(ALT_EXPORT_PATH),) |
481a9443f721
7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
4800
diff
changeset
|
240 EXPORT_PATH=$(ALT_EXPORT_PATH) |
481a9443f721
7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
4800
diff
changeset
|
241 endif |
481a9443f721
7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
4800
diff
changeset
|
242 |
481a9443f721
7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
4800
diff
changeset
|
243 # 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
|
244 JDK_IMAGE_DIR=$(OUTPUTDIR)/jdk-$(PLATFORM) |
4940
f09ae3853e3b
7143766: add ALT_JDK_IMAGE_DIR and improve test_jdk
twisti
parents:
4865
diff
changeset
|
245 ifneq ($(ALT_JDK_IMAGE_DIR),) |
f09ae3853e3b
7143766: add ALT_JDK_IMAGE_DIR and improve test_jdk
twisti
parents:
4865
diff
changeset
|
246 JDK_IMAGE_DIR=$(ALT_JDK_IMAGE_DIR) |
f09ae3853e3b
7143766: add ALT_JDK_IMAGE_DIR and improve test_jdk
twisti
parents:
4865
diff
changeset
|
247 endif |
4865
481a9443f721
7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents:
4800
diff
changeset
|
248 |
10405 | 249 # The platform dependent defs.make defines platform specific variable such |
0 | 250 # 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
|
251 include $(GAMMADIR)/make/$(OSNAME)/makefiles/defs.make |
0 | 252 |
253 # 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
|
254 # files to make/$(OSNAME)/makefiles dictory. However |
0 | 255 # some definitions are common for both linux and solaris, |
256 # so we put them here. | |
257 ifneq ($(OSNAME),windows) | |
91
a294fd0c4b38
6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents:
0
diff
changeset
|
258 ABS_OUTPUTDIR := $(shell mkdir -p $(OUTPUTDIR); $(CD) $(OUTPUTDIR); $(PWD)) |
0 | 259 ABS_BOOTDIR := $(shell $(CD) $(BOOTDIR); $(PWD)) |
260 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
|
261 ABS_OS_MAKEFILE := $(shell $(CD) $(HS_MAKE_DIR)/$(OSNAME); $(PWD))/Makefile |
0 | 262 |
263 # uname, HotSpot source directory, build directory and JDK use different names | |
264 # for CPU architectures. | |
265 # ARCH - uname output | |
266 # SRCARCH - where to find HotSpot cpu and os_cpu source files | |
267 # BUILDARCH - build directory | |
268 # LIBARCH - directory name in JDK/JRE | |
269 | |
270 # Use uname output for SRCARCH, but deal with platform differences. If ARCH | |
10405 | 271 # is not explicitly listed below, it is treated as x86. |
14909 | 272 SRCARCH = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 arm ppc zero,$(ARCH))) |
0 | 273 ARCH/ = x86 |
274 ARCH/sparc = sparc | |
275 ARCH/sparc64= sparc | |
276 ARCH/ia64 = ia64 | |
277 ARCH/amd64 = x86 | |
278 ARCH/x86_64 = x86 | |
1681
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
279 ARCH/ppc64 = ppc |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
280 ARCH/ppc = ppc |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
281 ARCH/arm = arm |
1010 | 282 ARCH/zero = zero |
0 | 283 |
284 # BUILDARCH is usually the same as SRCARCH, except for sparcv9 | |
285 BUILDARCH = $(SRCARCH) | |
286 ifeq ($(BUILDARCH), x86) | |
287 ifdef LP64 | |
288 BUILDARCH = amd64 | |
289 else | |
290 BUILDARCH = i486 | |
291 endif | |
292 endif | |
293 ifeq ($(BUILDARCH), sparc) | |
294 ifdef LP64 | |
295 BUILDARCH = sparcv9 | |
296 endif | |
297 endif | |
298 | |
299 # LIBARCH is 1:1 mapping from BUILDARCH | |
300 LIBARCH = $(LIBARCH/$(BUILDARCH)) | |
301 LIBARCH/i486 = i386 | |
302 LIBARCH/amd64 = amd64 | |
303 LIBARCH/sparc = sparc | |
304 LIBARCH/sparcv9 = sparcv9 | |
305 LIBARCH/ia64 = ia64 | |
14909 | 306 LIBARCH/ppc64 = ppc |
1681
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
307 LIBARCH/ppc = ppc |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
308 LIBARCH/arm = arm |
1010 | 309 LIBARCH/zero = $(ZERO_LIBARCH) |
0 | 310 |
14909 | 311 LP64_ARCH = sparcv9 amd64 ia64 zero |
0 | 312 endif |
313 | |
314 # Required make macro settings for all platforms | |
8780
98f3af397705
8006965: remove test_gamma and add dedicated test_* targets instead
twisti
parents:
6854
diff
changeset
|
315 MAKE_ARGS += BOOTDIR=$(ABS_BOOTDIR) |
228
f232d7d67023
6717128: Using relative path for ALT_OUTPUTDIR does not work properly
xlu
parents:
198
diff
changeset
|
316 MAKE_ARGS += OUTPUTDIR=$(ABS_OUTPUTDIR) |
0 | 317 MAKE_ARGS += GAMMADIR=$(ABS_GAMMADIR) |
318 MAKE_ARGS += MAKE_VERBOSE=$(MAKE_VERBOSE) | |
319 MAKE_ARGS += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION) | |
320 MAKE_ARGS += JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION) | |
321 | |
322 # Pass HOTSPOT_BUILD_VERSION as argument to OS specific Makefile | |
323 # to overwrite the default definition since OS specific Makefile also | |
324 # includes this make/defs.make file. | |
325 MAKE_ARGS += HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION) | |
326 | |
327 # Various export sub directories | |
328 EXPORT_INCLUDE_DIR = $(EXPORT_PATH)/include | |
329 EXPORT_DOCS_DIR = $(EXPORT_PATH)/docs | |
330 EXPORT_LIB_DIR = $(EXPORT_PATH)/lib | |
331 EXPORT_JRE_DIR = $(EXPORT_PATH)/jre | |
332 EXPORT_JRE_BIN_DIR = $(EXPORT_JRE_DIR)/bin | |
333 EXPORT_JRE_LIB_DIR = $(EXPORT_JRE_DIR)/lib | |
334 EXPORT_JRE_LIB_ARCH_DIR = $(EXPORT_JRE_LIB_DIR)/$(LIBARCH) | |
335 | |
4006 | 336 # non-universal macosx builds need to appear universal |
337 ifeq ($(OS_VENDOR), Darwin) | |
338 ifneq ($(MACOSX_UNIVERSAL), true) | |
339 EXPORT_JRE_LIB_ARCH_DIR = $(EXPORT_JRE_LIB_DIR) | |
340 endif | |
341 endif | |
342 | |
0 | 343 # Common export list of files |
344 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
|
345 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jvmticmlr.h |
0 | 346 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jni.h |
347 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/$(JDK_INCLUDE_SUBDIR)/jni_md.h | |
348 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jmm.h | |
8212
ed3fa3ae7b61
applied patch to Makefile system for building graal.jar (CR-102)
Doug Simon <doug.simon@oracle.com>
parents:
6854
diff
changeset
|
349 EXPORT_LIST += $(EXPORT_JRE_LIB_DIR)/graal.jar |
4800
94ec88ca68e2
7115199: Add event tracing hooks and Java Flight Recorder infrastructure
phh
parents:
4006
diff
changeset
|
350 |
10405 | 351 .PHONY: $(HS_ALT_MAKE)/defs.make |
6641
a9fed06c01d2
7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents:
5946
diff
changeset
|
352 |