annotate make/defs.make @ 17716:cdb71841f4bc

6498581: ThreadInterruptTest3 produces wrong output on Windows Summary: There is race condition between os::interrupt and os::is_interrupted on Windows. In JVM_Sleep(Thread.sleep), check if thread gets interrupted, it may see interrupted but not really interrupted so cause spurious waking up (early return from sleep). Fix by checking if interrupt event really gets set thus prevent false return. For intrinsic of _isInterrupted, on Windows, go fastpath only on bit not set. Reviewed-by: acorn, kvn Contributed-by: david.holmes@oracle.com, yumin.qi@oracle.com
author minqi
date Wed, 26 Feb 2014 15:20:41 -0800
parents f509b8f4699b
children 096c224171c4 2b8e28fdf503
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 #
10405
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents: 8780
diff changeset
2 # Copyright (c) 2006, 2013, 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.
10405
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents: 8780
diff changeset
22 #
0
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
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
a61af66fc99e Initial load
duke
parents:
diff changeset
90 define prep-target
a61af66fc99e Initial load
duke
parents:
diff changeset
91 @$(MKDIR) -p $(@D)
a61af66fc99e Initial load
duke
parents:
diff changeset
92 @$(RM) $@
a61af66fc99e Initial load
duke
parents:
diff changeset
93 endef
a61af66fc99e Initial load
duke
parents:
diff changeset
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
a61af66fc99e Initial load
duke
parents:
diff changeset
116 # hotspot version definitions
a61af66fc99e Initial load
duke
parents:
diff changeset
117 include $(GAMMADIR)/make/hotspot_version
a61af66fc99e Initial load
duke
parents:
diff changeset
118
a61af66fc99e Initial load
duke
parents:
diff changeset
119 # Java versions needed
a61af66fc99e Initial load
duke
parents:
diff changeset
120 ifeq ($(PREVIOUS_JDK_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
121 PREVIOUS_JDK_VERSION=$(JDK_PREVIOUS_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
122 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
123 ifeq ($(JDK_MAJOR_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
124 JDK_MAJOR_VERSION=$(JDK_MAJOR_VER)
a61af66fc99e Initial load
duke
parents:
diff changeset
125 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
126 ifeq ($(JDK_MINOR_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
127 JDK_MINOR_VERSION=$(JDK_MINOR_VER)
a61af66fc99e Initial load
duke
parents:
diff changeset
128 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
129 ifeq ($(JDK_MICRO_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
130 JDK_MICRO_VERSION=$(JDK_MICRO_VER)
a61af66fc99e Initial load
duke
parents:
diff changeset
131 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
132 ifeq ($(JDK_MKTG_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
133 JDK_MKTG_VERSION=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
134 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
135 ifeq ($(JDK_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
136 JDK_VERSION=$(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
137 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
138 ifeq ($(FULL_VERSION),)
a61af66fc99e Initial load
duke
parents:
diff changeset
139 FULL_VERSION="$(JDK_VERSION)"
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 # FULL_VERSION is only used to define JRE_RELEASE_VERSION which is used
a61af66fc99e Initial load
duke
parents:
diff changeset
143 # as JRE version in VM -Xinternalversion output.
a61af66fc99e Initial load
duke
parents:
diff changeset
144 ifndef JRE_RELEASE_VERSION
a61af66fc99e Initial load
duke
parents:
diff changeset
145 JRE_RELEASE_VERSION=$(FULL_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
146 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
147
a61af66fc99e Initial load
duke
parents:
diff changeset
148 ifndef HOTSPOT_RELEASE_VERSION
a61af66fc99e Initial load
duke
parents:
diff changeset
149 HOTSPOT_RELEASE_VERSION=$(HS_MAJOR_VER).$(HS_MINOR_VER)-b$(HS_BUILD_NUMBER)
a61af66fc99e Initial load
duke
parents:
diff changeset
150 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
151
a61af66fc99e Initial load
duke
parents:
diff changeset
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
a61af66fc99e Initial load
duke
parents:
diff changeset
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
a61af66fc99e Initial load
duke
parents:
diff changeset
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
a61af66fc99e Initial load
duke
parents:
diff changeset
161 else
a61af66fc99e Initial load
duke
parents:
diff changeset
162 HOTSPOT_BUILD_VERSION=internal
a61af66fc99e Initial load
duke
parents:
diff changeset
163 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
164 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
165 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
166
a61af66fc99e Initial load
duke
parents:
diff changeset
167 # Windows should have OS predefined
a61af66fc99e Initial load
duke
parents:
diff changeset
168 ifeq ($(OS),)
a61af66fc99e Initial load
duke
parents:
diff changeset
169 OS := $(shell uname -s)
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
170 ifneq ($(findstring BSD,$(OS)),)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
171 OS=bsd
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
172 endif
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
173 ifeq ($(OS), Darwin)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
174 OS=bsd
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
175 endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
176 HOST := $(shell uname -n)
a61af66fc99e Initial load
duke
parents:
diff changeset
177 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
178
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
179 # If not SunOS, not Linux and not BSD, assume Windows
0
a61af66fc99e Initial load
duke
parents:
diff changeset
180 ifneq ($(OS), Linux)
a61af66fc99e Initial load
duke
parents:
diff changeset
181 ifneq ($(OS), SunOS)
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
182 ifneq ($(OS), bsd)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
183 OSNAME=windows
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
184 else
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
185 OSNAME=bsd
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 2237
diff changeset
186 endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
187 else
a61af66fc99e Initial load
duke
parents:
diff changeset
188 OSNAME=solaris
a61af66fc99e Initial load
duke
parents:
diff changeset
189 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
190 else
a61af66fc99e Initial load
duke
parents:
diff changeset
191 OSNAME=linux
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 # Determinations of default make arguments and platform specific settings
a61af66fc99e Initial load
duke
parents:
diff changeset
195 MAKE_ARGS=
a61af66fc99e Initial load
duke
parents:
diff changeset
196
a61af66fc99e Initial load
duke
parents:
diff changeset
197 # ARCH_DATA_MODEL==64 is equivalent to LP64=1
a61af66fc99e Initial load
duke
parents:
diff changeset
198 ifeq ($(ARCH_DATA_MODEL), 64)
a61af66fc99e Initial load
duke
parents:
diff changeset
199 ifndef LP64
a61af66fc99e Initial load
duke
parents:
diff changeset
200 LP64 := 1
a61af66fc99e Initial load
duke
parents:
diff changeset
201 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
202 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
203
a61af66fc99e Initial load
duke
parents:
diff changeset
204 # Defaults set for product build
a61af66fc99e Initial load
duke
parents:
diff changeset
205 EXPORT_SUBDIR=
a61af66fc99e Initial load
duke
parents:
diff changeset
206
a61af66fc99e Initial load
duke
parents:
diff changeset
207 # Change default /java path if requested
a61af66fc99e Initial load
duke
parents:
diff changeset
208 ifneq ($(ALT_SLASH_JAVA),)
a61af66fc99e Initial load
duke
parents:
diff changeset
209 SLASH_JAVA=$(ALT_SLASH_JAVA)
a61af66fc99e Initial load
duke
parents:
diff changeset
210 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
211
a61af66fc99e Initial load
duke
parents:
diff changeset
212 # Default OUTPUTDIR
a61af66fc99e Initial load
duke
parents:
diff changeset
213 OUTPUTDIR=$(HS_BUILD_DIR)/$(OSNAME)
a61af66fc99e Initial load
duke
parents:
diff changeset
214 ifneq ($(ALT_OUTPUTDIR),)
a61af66fc99e Initial load
duke
parents:
diff changeset
215 OUTPUTDIR=$(ALT_OUTPUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
216 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
217
a61af66fc99e Initial load
duke
parents:
diff changeset
218 # Find latest promoted JDK area
a61af66fc99e Initial load
duke
parents:
diff changeset
219 JDK_IMPORT_PATH=$(SLASH_JAVA)/re/j2se/$(JDK_VERSION)/promoted/latest/binaries/$(PLATFORM)
a61af66fc99e Initial load
duke
parents:
diff changeset
220 ifneq ($(ALT_JDK_IMPORT_PATH),)
a61af66fc99e Initial load
duke
parents:
diff changeset
221 JDK_IMPORT_PATH=$(ALT_JDK_IMPORT_PATH)
a61af66fc99e Initial load
duke
parents:
diff changeset
222 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
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
a61af66fc99e Initial load
duke
parents:
diff changeset
231 # Find JDK used for javac compiles
a61af66fc99e Initial load
duke
parents:
diff changeset
232 BOOTDIR=$(SLASH_JAVA)/re/j2se/$(PREVIOUS_JDK_VERSION)/latest/binaries/$(PLATFORM)
a61af66fc99e Initial load
duke
parents:
diff changeset
233 ifneq ($(ALT_BOOTDIR),)
a61af66fc99e Initial load
duke
parents:
diff changeset
234 BOOTDIR=$(ALT_BOOTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
235 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
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
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents: 8780
diff changeset
249 # The platform dependent defs.make defines platform specific variable such
0
a61af66fc99e Initial load
duke
parents:
diff changeset
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
a61af66fc99e Initial load
duke
parents:
diff changeset
252
a61af66fc99e Initial load
duke
parents:
diff changeset
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
a61af66fc99e Initial load
duke
parents:
diff changeset
255 # some definitions are common for both linux and solaris,
a61af66fc99e Initial load
duke
parents:
diff changeset
256 # so we put them here.
a61af66fc99e Initial load
duke
parents:
diff changeset
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
a61af66fc99e Initial load
duke
parents:
diff changeset
259 ABS_BOOTDIR := $(shell $(CD) $(BOOTDIR); $(PWD))
a61af66fc99e Initial load
duke
parents:
diff changeset
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
a61af66fc99e Initial load
duke
parents:
diff changeset
262
a61af66fc99e Initial load
duke
parents:
diff changeset
263 # uname, HotSpot source directory, build directory and JDK use different names
a61af66fc99e Initial load
duke
parents:
diff changeset
264 # for CPU architectures.
a61af66fc99e Initial load
duke
parents:
diff changeset
265 # ARCH - uname output
a61af66fc99e Initial load
duke
parents:
diff changeset
266 # SRCARCH - where to find HotSpot cpu and os_cpu source files
a61af66fc99e Initial load
duke
parents:
diff changeset
267 # BUILDARCH - build directory
a61af66fc99e Initial load
duke
parents:
diff changeset
268 # LIBARCH - directory name in JDK/JRE
a61af66fc99e Initial load
duke
parents:
diff changeset
269
a61af66fc99e Initial load
duke
parents:
diff changeset
270 # Use uname output for SRCARCH, but deal with platform differences. If ARCH
10405
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents: 8780
diff changeset
271 # 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
272 SRCARCH = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 arm ppc zero,$(ARCH)))
0
a61af66fc99e Initial load
duke
parents:
diff changeset
273 ARCH/ = x86
a61af66fc99e Initial load
duke
parents:
diff changeset
274 ARCH/sparc = sparc
a61af66fc99e Initial load
duke
parents:
diff changeset
275 ARCH/sparc64= sparc
a61af66fc99e Initial load
duke
parents:
diff changeset
276 ARCH/ia64 = ia64
a61af66fc99e Initial load
duke
parents:
diff changeset
277 ARCH/amd64 = x86
a61af66fc99e Initial load
duke
parents:
diff changeset
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
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
282 ARCH/zero = zero
0
a61af66fc99e Initial load
duke
parents:
diff changeset
283
a61af66fc99e Initial load
duke
parents:
diff changeset
284 # BUILDARCH is usually the same as SRCARCH, except for sparcv9
a61af66fc99e Initial load
duke
parents:
diff changeset
285 BUILDARCH = $(SRCARCH)
a61af66fc99e Initial load
duke
parents:
diff changeset
286 ifeq ($(BUILDARCH), x86)
a61af66fc99e Initial load
duke
parents:
diff changeset
287 ifdef LP64
a61af66fc99e Initial load
duke
parents:
diff changeset
288 BUILDARCH = amd64
a61af66fc99e Initial load
duke
parents:
diff changeset
289 else
a61af66fc99e Initial load
duke
parents:
diff changeset
290 BUILDARCH = i486
a61af66fc99e Initial load
duke
parents:
diff changeset
291 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
292 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
293 ifeq ($(BUILDARCH), sparc)
a61af66fc99e Initial load
duke
parents:
diff changeset
294 ifdef LP64
a61af66fc99e Initial load
duke
parents:
diff changeset
295 BUILDARCH = sparcv9
a61af66fc99e Initial load
duke
parents:
diff changeset
296 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
297 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
298
a61af66fc99e Initial load
duke
parents:
diff changeset
299 # LIBARCH is 1:1 mapping from BUILDARCH
a61af66fc99e Initial load
duke
parents:
diff changeset
300 LIBARCH = $(LIBARCH/$(BUILDARCH))
a61af66fc99e Initial load
duke
parents:
diff changeset
301 LIBARCH/i486 = i386
a61af66fc99e Initial load
duke
parents:
diff changeset
302 LIBARCH/amd64 = amd64
a61af66fc99e Initial load
duke
parents:
diff changeset
303 LIBARCH/sparc = sparc
a61af66fc99e Initial load
duke
parents:
diff changeset
304 LIBARCH/sparcv9 = sparcv9
a61af66fc99e Initial load
duke
parents:
diff changeset
305 LIBARCH/ia64 = ia64
1681
126ea7725993 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 1552
diff changeset
306 LIBARCH/ppc64 = ppc
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
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
309 LIBARCH/zero = $(ZERO_LIBARCH)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
310
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents: 235
diff changeset
311 LP64_ARCH = sparcv9 amd64 ia64 zero
0
a61af66fc99e Initial load
duke
parents:
diff changeset
312 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
313
a61af66fc99e Initial load
duke
parents:
diff changeset
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
a61af66fc99e Initial load
duke
parents:
diff changeset
317 MAKE_ARGS += GAMMADIR=$(ABS_GAMMADIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
318 MAKE_ARGS += MAKE_VERBOSE=$(MAKE_VERBOSE)
a61af66fc99e Initial load
duke
parents:
diff changeset
319 MAKE_ARGS += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
320 MAKE_ARGS += JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
321
a61af66fc99e Initial load
duke
parents:
diff changeset
322 # Pass HOTSPOT_BUILD_VERSION as argument to OS specific Makefile
a61af66fc99e Initial load
duke
parents:
diff changeset
323 # to overwrite the default definition since OS specific Makefile also
a61af66fc99e Initial load
duke
parents:
diff changeset
324 # includes this make/defs.make file.
a61af66fc99e Initial load
duke
parents:
diff changeset
325 MAKE_ARGS += HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
326
a61af66fc99e Initial load
duke
parents:
diff changeset
327 # Various export sub directories
a61af66fc99e Initial load
duke
parents:
diff changeset
328 EXPORT_INCLUDE_DIR = $(EXPORT_PATH)/include
a61af66fc99e Initial load
duke
parents:
diff changeset
329 EXPORT_DOCS_DIR = $(EXPORT_PATH)/docs
a61af66fc99e Initial load
duke
parents:
diff changeset
330 EXPORT_LIB_DIR = $(EXPORT_PATH)/lib
a61af66fc99e Initial load
duke
parents:
diff changeset
331 EXPORT_JRE_DIR = $(EXPORT_PATH)/jre
a61af66fc99e Initial load
duke
parents:
diff changeset
332 EXPORT_JRE_BIN_DIR = $(EXPORT_JRE_DIR)/bin
a61af66fc99e Initial load
duke
parents:
diff changeset
333 EXPORT_JRE_LIB_DIR = $(EXPORT_JRE_DIR)/lib
a61af66fc99e Initial load
duke
parents:
diff changeset
334 EXPORT_JRE_LIB_ARCH_DIR = $(EXPORT_JRE_LIB_DIR)/$(LIBARCH)
a61af66fc99e Initial load
duke
parents:
diff changeset
335
4006
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
336 # non-universal macosx builds need to appear universal
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
337 ifeq ($(OS_VENDOR), Darwin)
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
338 ifneq ($(MACOSX_UNIVERSAL), true)
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
339 EXPORT_JRE_LIB_ARCH_DIR = $(EXPORT_JRE_LIB_DIR)
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
340 endif
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
341 endif
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
342
0
a61af66fc99e Initial load
duke
parents:
diff changeset
343 # Common export list of files
a61af66fc99e Initial load
duke
parents:
diff changeset
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
a61af66fc99e Initial load
duke
parents:
diff changeset
346 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jni.h
a61af66fc99e Initial load
duke
parents:
diff changeset
347 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/$(JDK_INCLUDE_SUBDIR)/jni_md.h
a61af66fc99e Initial load
duke
parents:
diff changeset
348 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jmm.h
4800
94ec88ca68e2 7115199: Add event tracing hooks and Java Flight Recorder infrastructure
phh
parents: 4006
diff changeset
349
10405
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents: 8780
diff changeset
350 .PHONY: $(HS_ALT_MAKE)/defs.make
6641
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 5946
diff changeset
351