annotate make/defs.make @ 10185:d50cc62e94ff

8012715: G1: GraphKit accesses PtrQueue::_index as int but is size_t Summary: In graphKit INT operations were generated to access PtrQueue::_index which has type size_t. This is 64 bit on 64-bit machines. No problems occur on little endian machines as long as the index fits into 32 bit, but on big endian machines the upper part is read, which is zero. This leads to unnecessary branches to the slow path in the runtime. Reviewed-by: twisti, johnc Contributed-by: Martin Doerr <martin.doerr@sap.com>
author johnc
date Wed, 24 Apr 2013 14:48:43 -0700
parents 98f3af397705
children b9a918201d47 f2110083203d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
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
a61af66fc99e Initial load
duke
parents:
diff changeset
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
a61af66fc99e Initial load
duke
parents:
diff changeset
4 #
a61af66fc99e Initial load
duke
parents:
diff changeset
5 # This code is free software; you can redistribute it and/or modify it
a61af66fc99e Initial load
duke
parents:
diff changeset
6 # under the terms of the GNU General Public License version 2 only, as
a61af66fc99e Initial load
duke
parents:
diff changeset
7 # published by the Free Software Foundation.
a61af66fc99e Initial load
duke
parents:
diff changeset
8 #
a61af66fc99e Initial load
duke
parents:
diff changeset
9 # This code is distributed in the hope that it will be useful, but WITHOUT
a61af66fc99e Initial load
duke
parents:
diff changeset
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
a61af66fc99e Initial load
duke
parents:
diff changeset
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
a61af66fc99e Initial load
duke
parents:
diff changeset
12 # version 2 for more details (a copy is included in the LICENSE file that
a61af66fc99e Initial load
duke
parents:
diff changeset
13 # accompanied this code).
a61af66fc99e Initial load
duke
parents:
diff changeset
14 #
a61af66fc99e Initial load
duke
parents:
diff changeset
15 # You should have received a copy of the GNU General Public License version
a61af66fc99e Initial load
duke
parents:
diff changeset
16 # 2 along with this work; if not, write to the Free Software Foundation,
a61af66fc99e Initial load
duke
parents:
diff changeset
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
a61af66fc99e Initial load
duke
parents:
diff changeset
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
a61af66fc99e Initial load
duke
parents:
diff changeset
22 #
a61af66fc99e Initial load
duke
parents:
diff changeset
23 #
a61af66fc99e Initial load
duke
parents:
diff changeset
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
a61af66fc99e Initial load
duke
parents:
diff changeset
59 # Default to verbose build logs (show all compile lines):
a61af66fc99e Initial load
duke
parents:
diff changeset
60 MAKE_VERBOSE=y
a61af66fc99e Initial load
duke
parents:
diff changeset
61
a61af66fc99e Initial load
duke
parents:
diff changeset
62 # Make macros for install files or preparing targets
a61af66fc99e Initial load
duke
parents:
diff changeset
63 CD=cd
a61af66fc99e Initial load
duke
parents:
diff changeset
64 CP=cp
a61af66fc99e Initial load
duke
parents:
diff changeset
65 ECHO=echo
a61af66fc99e Initial load
duke
parents:
diff changeset
66 GREP=grep
a61af66fc99e Initial load
duke
parents:
diff changeset
67 MKDIR=mkdir
a61af66fc99e Initial load
duke
parents:
diff changeset
68 MV=mv
a61af66fc99e Initial load
duke
parents:
diff changeset
69 PWD=pwd
a61af66fc99e Initial load
duke
parents:
diff changeset
70 RM=rm -f
a61af66fc99e Initial load
duke
parents:
diff changeset
71 SED=sed
a61af66fc99e Initial load
duke
parents:
diff changeset
72 TAR=tar
a61af66fc99e Initial load
duke
parents:
diff changeset
73 ZIPEXE=zip
a61af66fc99e Initial load
duke
parents:
diff changeset
74
a61af66fc99e Initial load
duke
parents:
diff changeset
75 define install-file
a61af66fc99e Initial load
duke
parents:
diff changeset
76 @$(MKDIR) -p $(@D)
a61af66fc99e Initial load
duke
parents:
diff changeset
77 @$(RM) $@
a61af66fc99e Initial load
duke
parents:
diff changeset
78 $(CP) $< $@
a61af66fc99e Initial load
duke
parents:
diff changeset
79 endef
a61af66fc99e Initial load
duke
parents:
diff changeset
80 define prep-target
a61af66fc99e Initial load
duke
parents:
diff changeset
81 @$(MKDIR) -p $(@D)
a61af66fc99e Initial load
duke
parents:
diff changeset
82 @$(RM) $@
a61af66fc99e Initial load
duke
parents:
diff changeset
83 endef
a61af66fc99e Initial load
duke
parents:
diff changeset
84
5946
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
85 # 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
86 # it already.
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
87 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
88 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
89 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
90 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
91 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
92 else
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
93 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
94 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
95 endif
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
96 else
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
97 # 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
98 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
99 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
100 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
101 endif
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
102 # 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
103 endif
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
104 endif
3d7ea1dbe0de 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 5897
diff changeset
105
0
a61af66fc99e Initial load
duke
parents:
diff changeset
106 # hotspot version definitions
a61af66fc99e Initial load
duke
parents:
diff changeset
107 include $(GAMMADIR)/make/hotspot_version
a61af66fc99e Initial load
duke
parents:
diff changeset
108
a61af66fc99e Initial load
duke
parents:
diff changeset
109 # Java versions needed
a61af66fc99e Initial load
duke
parents:
diff changeset
110 ifeq ($(PREVIOUS_JDK_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
111 PREVIOUS_JDK_VERSION=$(JDK_PREVIOUS_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
112 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
113 ifeq ($(JDK_MAJOR_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
114 JDK_MAJOR_VERSION=$(JDK_MAJOR_VER)
a61af66fc99e Initial load
duke
parents:
diff changeset
115 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
116 ifeq ($(JDK_MINOR_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
117 JDK_MINOR_VERSION=$(JDK_MINOR_VER)
a61af66fc99e Initial load
duke
parents:
diff changeset
118 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
119 ifeq ($(JDK_MICRO_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
120 JDK_MICRO_VERSION=$(JDK_MICRO_VER)
a61af66fc99e Initial load
duke
parents:
diff changeset
121 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
122 ifeq ($(JDK_MKTG_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
123 JDK_MKTG_VERSION=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
124 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
125 ifeq ($(JDK_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
126 JDK_VERSION=$(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
127 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
128 ifeq ($(FULL_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
129 FULL_VERSION="$(JDK_VERSION)"
a61af66fc99e Initial load
duke
parents:
diff changeset
130 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
131
a61af66fc99e Initial load
duke
parents:
diff changeset
132 # FULL_VERSION is only used to define JRE_RELEASE_VERSION which is used
a61af66fc99e Initial load
duke
parents:
diff changeset
133 # as JRE version in VM -Xinternalversion output.
a61af66fc99e Initial load
duke
parents:
diff changeset
134 ifndef JRE_RELEASE_VERSION
a61af66fc99e Initial load
duke
parents:
diff changeset
135 JRE_RELEASE_VERSION=$(FULL_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
136 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
137
a61af66fc99e Initial load
duke
parents:
diff changeset
138 ifndef HOTSPOT_RELEASE_VERSION
a61af66fc99e Initial load
duke
parents:
diff changeset
139 HOTSPOT_RELEASE_VERSION=$(HS_MAJOR_VER).$(HS_MINOR_VER)-b$(HS_BUILD_NUMBER)
a61af66fc99e Initial load
duke
parents:
diff changeset
140 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
141
a61af66fc99e Initial load
duke
parents:
diff changeset
142 ifdef HOTSPOT_BUILD_VERSION
1977
c7db7adb83b4 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 1681
diff changeset
143 # specified in command line
0
a61af66fc99e Initial load
duke
parents:
diff changeset
144 else
1977
c7db7adb83b4 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 1681
diff changeset
145 ifdef COOKED_BUILD_NUMBER
c7db7adb83b4 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 1681
diff changeset
146 # JRE build
c7db7adb83b4 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 1681
diff changeset
147 HOTSPOT_BUILD_VERSION=
0
a61af66fc99e Initial load
duke
parents:
diff changeset
148 else
1977
c7db7adb83b4 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 1681
diff changeset
149 ifdef USER_RELEASE_SUFFIX
c7db7adb83b4 6987107: Add variable to add to but not modify non-fcs version string
ohair
parents: 1681
diff changeset
150 HOTSPOT_BUILD_VERSION=internal-$(USER_RELEASE_SUFFIX)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
151 else
a61af66fc99e Initial load
duke
parents:
diff changeset
152 HOTSPOT_BUILD_VERSION=internal
a61af66fc99e Initial load
duke
parents:
diff changeset
153 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
154 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
155 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
156
a61af66fc99e Initial load
duke
parents:
diff changeset
157 # Windows should have OS predefined
a61af66fc99e Initial load
duke
parents:
diff changeset
158 ifeq ($(OS),)
a61af66fc99e Initial load
duke
parents:
diff changeset
159 OS := $(shell uname -s)
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
160 ifneq ($(findstring BSD,$(OS)),)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
161 OS=bsd
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
162 endif
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
163 ifeq ($(OS), Darwin)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
164 OS=bsd
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
165 endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
166 HOST := $(shell uname -n)
a61af66fc99e Initial load
duke
parents:
diff changeset
167 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
168
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
169 # If not SunOS, not Linux and not BSD, assume Windows
0
a61af66fc99e Initial load
duke
parents:
diff changeset
170 ifneq ($(OS), Linux)
a61af66fc99e Initial load
duke
parents:
diff changeset
171 ifneq ($(OS), SunOS)
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
172 ifneq ($(OS), bsd)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
173 OSNAME=windows
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
174 else
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
175 OSNAME=bsd
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
176 endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
177 else
a61af66fc99e Initial load
duke
parents:
diff changeset
178 OSNAME=solaris
a61af66fc99e Initial load
duke
parents:
diff changeset
179 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
180 else
a61af66fc99e Initial load
duke
parents:
diff changeset
181 OSNAME=linux
a61af66fc99e Initial load
duke
parents:
diff changeset
182 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
183
a61af66fc99e Initial load
duke
parents:
diff changeset
184 # Determinations of default make arguments and platform specific settings
a61af66fc99e Initial load
duke
parents:
diff changeset
185 MAKE_ARGS=
a61af66fc99e Initial load
duke
parents:
diff changeset
186
a61af66fc99e Initial load
duke
parents:
diff changeset
187 # ARCH_DATA_MODEL==64 is equivalent to LP64=1
a61af66fc99e Initial load
duke
parents:
diff changeset
188 ifeq ($(ARCH_DATA_MODEL), 64)
a61af66fc99e Initial load
duke
parents:
diff changeset
189 ifndef LP64
a61af66fc99e Initial load
duke
parents:
diff changeset
190 LP64 := 1
a61af66fc99e Initial load
duke
parents:
diff changeset
191 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
192 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
193
a61af66fc99e Initial load
duke
parents:
diff changeset
194 # Defaults set for product build
a61af66fc99e Initial load
duke
parents:
diff changeset
195 EXPORT_SUBDIR=
a61af66fc99e Initial load
duke
parents:
diff changeset
196
a61af66fc99e Initial load
duke
parents:
diff changeset
197 # Change default /java path if requested
a61af66fc99e Initial load
duke
parents:
diff changeset
198 ifneq ($(ALT_SLASH_JAVA),)
a61af66fc99e Initial load
duke
parents:
diff changeset
199 SLASH_JAVA=$(ALT_SLASH_JAVA)
a61af66fc99e Initial load
duke
parents:
diff changeset
200 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
201
a61af66fc99e Initial load
duke
parents:
diff changeset
202 # Default OUTPUTDIR
a61af66fc99e Initial load
duke
parents:
diff changeset
203 OUTPUTDIR=$(HS_BUILD_DIR)/$(OSNAME)
a61af66fc99e Initial load
duke
parents:
diff changeset
204 ifneq ($(ALT_OUTPUTDIR),)
a61af66fc99e Initial load
duke
parents:
diff changeset
205 OUTPUTDIR=$(ALT_OUTPUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
206 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
207
a61af66fc99e Initial load
duke
parents:
diff changeset
208 # Find latest promoted JDK area
a61af66fc99e Initial load
duke
parents:
diff changeset
209 JDK_IMPORT_PATH=$(SLASH_JAVA)/re/j2se/$(JDK_VERSION)/promoted/latest/binaries/$(PLATFORM)
a61af66fc99e Initial load
duke
parents:
diff changeset
210 ifneq ($(ALT_JDK_IMPORT_PATH),)
a61af66fc99e Initial load
duke
parents:
diff changeset
211 JDK_IMPORT_PATH=$(ALT_JDK_IMPORT_PATH)
a61af66fc99e Initial load
duke
parents:
diff changeset
212 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
213
2237
b76d12f4ab2d 7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents: 1977
diff changeset
214 # 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
215 # 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
216 # 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
217 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
218 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
219 endif
b76d12f4ab2d 7018429: JPRT: Update Makefile to use ALT_JDK_TARGET_IMPORT_PATH for copying JDK
dholmes
parents: 1977
diff changeset
220
0
a61af66fc99e Initial load
duke
parents:
diff changeset
221 # Find JDK used for javac compiles
a61af66fc99e Initial load
duke
parents:
diff changeset
222 BOOTDIR=$(SLASH_JAVA)/re/j2se/$(PREVIOUS_JDK_VERSION)/latest/binaries/$(PLATFORM)
a61af66fc99e Initial load
duke
parents:
diff changeset
223 ifneq ($(ALT_BOOTDIR),)
a61af66fc99e Initial load
duke
parents:
diff changeset
224 BOOTDIR=$(ALT_BOOTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
225 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
226
4865
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 4800
diff changeset
227 # 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
228 EXPORT_PATH=$(OUTPUTDIR)/export-$(PLATFORM)$(EXPORT_SUBDIR)
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 4800
diff changeset
229 ifneq ($(ALT_EXPORT_PATH),)
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 4800
diff changeset
230 EXPORT_PATH=$(ALT_EXPORT_PATH)
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 4800
diff changeset
231 endif
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 4800
diff changeset
232
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 4800
diff changeset
233 # 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
234 JDK_IMAGE_DIR=$(OUTPUTDIR)/jdk-$(PLATFORM)
4940
f09ae3853e3b 7143766: add ALT_JDK_IMAGE_DIR and improve test_jdk
twisti
parents: 4865
diff changeset
235 ifneq ($(ALT_JDK_IMAGE_DIR),)
f09ae3853e3b 7143766: add ALT_JDK_IMAGE_DIR and improve test_jdk
twisti
parents: 4865
diff changeset
236 JDK_IMAGE_DIR=$(ALT_JDK_IMAGE_DIR)
f09ae3853e3b 7143766: add ALT_JDK_IMAGE_DIR and improve test_jdk
twisti
parents: 4865
diff changeset
237 endif
4865
481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
phh
parents: 4800
diff changeset
238
0
a61af66fc99e Initial load
duke
parents:
diff changeset
239 # The platform dependent defs.make defines platform specific variable such
a61af66fc99e Initial load
duke
parents:
diff changeset
240 # 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
241 include $(GAMMADIR)/make/$(OSNAME)/makefiles/defs.make
0
a61af66fc99e Initial load
duke
parents:
diff changeset
242
a61af66fc99e Initial load
duke
parents:
diff changeset
243 # 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
244 # files to make/$(OSNAME)/makefiles dictory. However
0
a61af66fc99e Initial load
duke
parents:
diff changeset
245 # some definitions are common for both linux and solaris,
a61af66fc99e Initial load
duke
parents:
diff changeset
246 # so we put them here.
a61af66fc99e Initial load
duke
parents:
diff changeset
247 ifneq ($(OSNAME),windows)
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 0
diff changeset
248 ABS_OUTPUTDIR := $(shell mkdir -p $(OUTPUTDIR); $(CD) $(OUTPUTDIR); $(PWD))
0
a61af66fc99e Initial load
duke
parents:
diff changeset
249 ABS_BOOTDIR := $(shell $(CD) $(BOOTDIR); $(PWD))
a61af66fc99e Initial load
duke
parents:
diff changeset
250 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
251 ABS_OS_MAKEFILE := $(shell $(CD) $(HS_MAKE_DIR)/$(OSNAME); $(PWD))/Makefile
0
a61af66fc99e Initial load
duke
parents:
diff changeset
252
a61af66fc99e Initial load
duke
parents:
diff changeset
253 # uname, HotSpot source directory, build directory and JDK use different names
a61af66fc99e Initial load
duke
parents:
diff changeset
254 # for CPU architectures.
a61af66fc99e Initial load
duke
parents:
diff changeset
255 # ARCH - uname output
a61af66fc99e Initial load
duke
parents:
diff changeset
256 # SRCARCH - where to find HotSpot cpu and os_cpu source files
a61af66fc99e Initial load
duke
parents:
diff changeset
257 # BUILDARCH - build directory
a61af66fc99e Initial load
duke
parents:
diff changeset
258 # LIBARCH - directory name in JDK/JRE
a61af66fc99e Initial load
duke
parents:
diff changeset
259
a61af66fc99e Initial load
duke
parents:
diff changeset
260 # Use uname output for SRCARCH, but deal with platform differences. If ARCH
a61af66fc99e Initial load
duke
parents:
diff changeset
261 # 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
262 SRCARCH = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 arm ppc zero,$(ARCH)))
0
a61af66fc99e Initial load
duke
parents:
diff changeset
263 ARCH/ = x86
a61af66fc99e Initial load
duke
parents:
diff changeset
264 ARCH/sparc = sparc
a61af66fc99e Initial load
duke
parents:
diff changeset
265 ARCH/sparc64= sparc
a61af66fc99e Initial load
duke
parents:
diff changeset
266 ARCH/ia64 = ia64
a61af66fc99e Initial load
duke
parents:
diff changeset
267 ARCH/amd64 = x86
a61af66fc99e Initial load
duke
parents:
diff changeset
268 ARCH/x86_64 = x86
1681
126ea7725993 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 1552
diff changeset
269 ARCH/ppc64 = ppc
126ea7725993 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 1552
diff changeset
270 ARCH/ppc = ppc
126ea7725993 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 1552
diff changeset
271 ARCH/arm = arm
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
272 ARCH/zero = zero
0
a61af66fc99e Initial load
duke
parents:
diff changeset
273
a61af66fc99e Initial load
duke
parents:
diff changeset
274 # BUILDARCH is usually the same as SRCARCH, except for sparcv9
a61af66fc99e Initial load
duke
parents:
diff changeset
275 BUILDARCH = $(SRCARCH)
a61af66fc99e Initial load
duke
parents:
diff changeset
276 ifeq ($(BUILDARCH), x86)
a61af66fc99e Initial load
duke
parents:
diff changeset
277 ifdef LP64
a61af66fc99e Initial load
duke
parents:
diff changeset
278 BUILDARCH = amd64
a61af66fc99e Initial load
duke
parents:
diff changeset
279 else
a61af66fc99e Initial load
duke
parents:
diff changeset
280 BUILDARCH = i486
a61af66fc99e Initial load
duke
parents:
diff changeset
281 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
282 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
283 ifeq ($(BUILDARCH), sparc)
a61af66fc99e Initial load
duke
parents:
diff changeset
284 ifdef LP64
a61af66fc99e Initial load
duke
parents:
diff changeset
285 BUILDARCH = sparcv9
a61af66fc99e Initial load
duke
parents:
diff changeset
286 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
287 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
288
a61af66fc99e Initial load
duke
parents:
diff changeset
289 # LIBARCH is 1:1 mapping from BUILDARCH
a61af66fc99e Initial load
duke
parents:
diff changeset
290 LIBARCH = $(LIBARCH/$(BUILDARCH))
a61af66fc99e Initial load
duke
parents:
diff changeset
291 LIBARCH/i486 = i386
a61af66fc99e Initial load
duke
parents:
diff changeset
292 LIBARCH/amd64 = amd64
a61af66fc99e Initial load
duke
parents:
diff changeset
293 LIBARCH/sparc = sparc
a61af66fc99e Initial load
duke
parents:
diff changeset
294 LIBARCH/sparcv9 = sparcv9
a61af66fc99e Initial load
duke
parents:
diff changeset
295 LIBARCH/ia64 = ia64
1681
126ea7725993 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 1552
diff changeset
296 LIBARCH/ppc64 = ppc
126ea7725993 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 1552
diff changeset
297 LIBARCH/ppc = ppc
126ea7725993 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 1552
diff changeset
298 LIBARCH/arm = arm
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
299 LIBARCH/zero = $(ZERO_LIBARCH)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
300
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
301 LP64_ARCH = sparcv9 amd64 ia64 zero
0
a61af66fc99e Initial load
duke
parents:
diff changeset
302 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
303
a61af66fc99e Initial load
duke
parents:
diff changeset
304 # Required make macro settings for all platforms
8780
98f3af397705 8006965: remove test_gamma and add dedicated test_* targets instead
twisti
parents: 6854
diff changeset
305 MAKE_ARGS += BOOTDIR=$(ABS_BOOTDIR)
228
f232d7d67023 6717128: Using relative path for ALT_OUTPUTDIR does not work properly
xlu
parents: 198
diff changeset
306 MAKE_ARGS += OUTPUTDIR=$(ABS_OUTPUTDIR)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
307 MAKE_ARGS += GAMMADIR=$(ABS_GAMMADIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
308 MAKE_ARGS += MAKE_VERBOSE=$(MAKE_VERBOSE)
a61af66fc99e Initial load
duke
parents:
diff changeset
309 MAKE_ARGS += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
310 MAKE_ARGS += JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
311
a61af66fc99e Initial load
duke
parents:
diff changeset
312 # Pass HOTSPOT_BUILD_VERSION as argument to OS specific Makefile
a61af66fc99e Initial load
duke
parents:
diff changeset
313 # to overwrite the default definition since OS specific Makefile also
a61af66fc99e Initial load
duke
parents:
diff changeset
314 # includes this make/defs.make file.
a61af66fc99e Initial load
duke
parents:
diff changeset
315 MAKE_ARGS += HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
316
a61af66fc99e Initial load
duke
parents:
diff changeset
317 # Various export sub directories
a61af66fc99e Initial load
duke
parents:
diff changeset
318 EXPORT_INCLUDE_DIR = $(EXPORT_PATH)/include
a61af66fc99e Initial load
duke
parents:
diff changeset
319 EXPORT_DOCS_DIR = $(EXPORT_PATH)/docs
a61af66fc99e Initial load
duke
parents:
diff changeset
320 EXPORT_LIB_DIR = $(EXPORT_PATH)/lib
a61af66fc99e Initial load
duke
parents:
diff changeset
321 EXPORT_JRE_DIR = $(EXPORT_PATH)/jre
a61af66fc99e Initial load
duke
parents:
diff changeset
322 EXPORT_JRE_BIN_DIR = $(EXPORT_JRE_DIR)/bin
a61af66fc99e Initial load
duke
parents:
diff changeset
323 EXPORT_JRE_LIB_DIR = $(EXPORT_JRE_DIR)/lib
a61af66fc99e Initial load
duke
parents:
diff changeset
324 EXPORT_JRE_LIB_ARCH_DIR = $(EXPORT_JRE_LIB_DIR)/$(LIBARCH)
a61af66fc99e Initial load
duke
parents:
diff changeset
325
4006
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
326 # non-universal macosx builds need to appear universal
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
327 ifeq ($(OS_VENDOR), Darwin)
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
328 ifneq ($(MACOSX_UNIVERSAL), true)
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
329 EXPORT_JRE_LIB_ARCH_DIR = $(EXPORT_JRE_LIB_DIR)
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
330 endif
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
331 endif
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
332
0
a61af66fc99e Initial load
duke
parents:
diff changeset
333 # Common export list of files
a61af66fc99e Initial load
duke
parents:
diff changeset
334 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
335 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jvmticmlr.h
0
a61af66fc99e Initial load
duke
parents:
diff changeset
336 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jni.h
a61af66fc99e Initial load
duke
parents:
diff changeset
337 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/$(JDK_INCLUDE_SUBDIR)/jni_md.h
a61af66fc99e Initial load
duke
parents:
diff changeset
338 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jmm.h
4800
94ec88ca68e2 7115199: Add event tracing hooks and Java Flight Recorder infrastructure
phh
parents: 4006
diff changeset
339
94ec88ca68e2 7115199: Add event tracing hooks and Java Flight Recorder infrastructure
phh
parents: 4006
diff changeset
340 ifndef JAVASE_EMBEDDED
94ec88ca68e2 7115199: Add event tracing hooks and Java Flight Recorder infrastructure
phh
parents: 4006
diff changeset
341 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jfr.h
94ec88ca68e2 7115199: Add event tracing hooks and Java Flight Recorder infrastructure
phh
parents: 4006
diff changeset
342 endif
6641
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 5946
diff changeset
343
6854
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6774
diff changeset
344 .PHONY: $(HS_ALT_MAKE)/defs.make