21 # questions.
22 #
23 #
24
25 # The common definitions for hotspot linux builds.
26 # Include the top level defs.make under make directory instead of this one.
27 # This file is included into make/defs.make.
28
29 SLASH_JAVA ?= /java
30
31 # Need PLATFORM (os-arch combo names) for jdk and hotspot, plus libarch name
32 ARCH:=$(shell uname -m)
33 PATH_SEP = :
34 ifeq ($(LP64), 1)
35 ARCH_DATA_MODEL ?= 64
36 else
37 ARCH_DATA_MODEL ?= 32
38 endif
39
40 # zero
41 ifeq ($(ZERO_BUILD), true)
42 ifeq ($(ARCH_DATA_MODEL), 64)
43 MAKE_ARGS += LP64=1
44 endif
45 PLATFORM = linux-zero
46 VM_PLATFORM = linux_$(subst i386,i486,$(ZERO_LIBARCH))
47 HS_ARCH = zero
48 ARCH = zero
49 endif
50
51 # ia64
52 ifeq ($(ARCH), ia64)
53 ARCH_DATA_MODEL = 64
54 MAKE_ARGS += LP64=1
55 PLATFORM = linux-ia64
56 VM_PLATFORM = linux_ia64
57 HS_ARCH = ia64
58 endif
59
60 # sparc
61 ifeq ($(ARCH), sparc64)
97 VM_PLATFORM = linux_i486
98 HS_ARCH = x86
99 endif
100
101 # ARM
102 ifeq ($(ARCH), arm)
103 ARCH_DATA_MODEL = 32
104 PLATFORM = linux-arm
105 VM_PLATFORM = linux_arm
106 HS_ARCH = arm
107 endif
108
109 # PPC
110 ifeq ($(ARCH), ppc)
111 ARCH_DATA_MODEL = 32
112 PLATFORM = linux-ppc
113 VM_PLATFORM = linux_ppc
114 HS_ARCH = ppc
115 endif
116
117 # determine if HotSpot is being built in JDK6 or earlier version
118 JDK6_OR_EARLIER=0
119 ifeq "$(shell expr \( '$(JDK_MAJOR_VERSION)' != '' \& '$(JDK_MINOR_VERSION)' != '' \& '$(JDK_MICRO_VERSION)' != '' \))" "1"
120 # if the longer variable names (newer build style) are set, then check those
121 ifeq "$(shell expr \( $(JDK_MAJOR_VERSION) = 1 \& $(JDK_MINOR_VERSION) \< 7 \))" "1"
122 JDK6_OR_EARLIER=1
123 endif
124 else
125 # the longer variables aren't set so check the shorter variable names
126 ifeq "$(shell expr \( '$(JDK_MAJOR_VER)' = 1 \& '$(JDK_MINOR_VER)' \< 7 \))" "1"
127 JDK6_OR_EARLIER=1
128 endif
129 endif
130
131 ifeq ($(JDK6_OR_EARLIER),0)
132 # Full Debug Symbols is supported on JDK7 or newer
133
134 # Default OBJCOPY comes from GNU Binutils on Linux:
135 DEF_OBJCOPY=/usr/bin/objcopy
136 ifdef CROSS_COMPILE_ARCH
178 JDK_INCLUDE_SUBDIR=linux
179
180 # Library suffix
181 LIBRARY_SUFFIX=so
182
183 # FIXUP: The subdirectory for a debug build is NOT the same on all platforms
184 VM_DEBUG=jvmg
185
186 EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html
187
188 # client and server subdirectories have symbolic links to ../libjsig.so
189 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX)
190 ifneq ($(OBJCOPY),)
191 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.debuginfo
192 endif
193 EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server
194 EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client
195
196 EXPORT_LIST += $(EXPORT_JRE_LIB_DIR)/wb.jar
197
198 ifndef BUILD_CLIENT_ONLY
199 EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
200 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX)
201 ifneq ($(OBJCOPY),)
202 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo
203 endif
204 endif
205
206 ifneq ($(ZERO_BUILD), true)
207 ifeq ($(ARCH_DATA_MODEL), 32)
208 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
209 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX)
210 ifneq ($(OBJCOPY),)
211 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo
212 endif
213 endif
214 endif
215
216 # Serviceability Binaries
217 # No SA Support for PPC, IA64, ARM or zero
218 ADD_SA_BINARIES/x86 = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \
219 $(EXPORT_LIB_DIR)/sa-jdi.jar
220 ADD_SA_BINARIES/sparc = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \
221 $(EXPORT_LIB_DIR)/sa-jdi.jar
222 ifneq ($(OBJCOPY),)
223 ADD_SA_BINARIES/x86 += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo
224 ADD_SA_BINARIES/sparc += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo
225 endif
226 ADD_SA_BINARIES/ppc =
227 ADD_SA_BINARIES/ia64 =
228 ADD_SA_BINARIES/arm =
229 ADD_SA_BINARIES/zero =
230
231 EXPORT_LIST += $(ADD_SA_BINARIES/$(HS_ARCH))
232
233
|
21 # questions.
22 #
23 #
24
25 # The common definitions for hotspot linux builds.
26 # Include the top level defs.make under make directory instead of this one.
27 # This file is included into make/defs.make.
28
29 SLASH_JAVA ?= /java
30
31 # Need PLATFORM (os-arch combo names) for jdk and hotspot, plus libarch name
32 ARCH:=$(shell uname -m)
33 PATH_SEP = :
34 ifeq ($(LP64), 1)
35 ARCH_DATA_MODEL ?= 64
36 else
37 ARCH_DATA_MODEL ?= 32
38 endif
39
40 # zero
41 ifeq ($(findstring true, $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
42 ifeq ($(ARCH_DATA_MODEL), 64)
43 MAKE_ARGS += LP64=1
44 endif
45 PLATFORM = linux-zero
46 VM_PLATFORM = linux_$(subst i386,i486,$(ZERO_LIBARCH))
47 HS_ARCH = zero
48 ARCH = zero
49 endif
50
51 # ia64
52 ifeq ($(ARCH), ia64)
53 ARCH_DATA_MODEL = 64
54 MAKE_ARGS += LP64=1
55 PLATFORM = linux-ia64
56 VM_PLATFORM = linux_ia64
57 HS_ARCH = ia64
58 endif
59
60 # sparc
61 ifeq ($(ARCH), sparc64)
97 VM_PLATFORM = linux_i486
98 HS_ARCH = x86
99 endif
100
101 # ARM
102 ifeq ($(ARCH), arm)
103 ARCH_DATA_MODEL = 32
104 PLATFORM = linux-arm
105 VM_PLATFORM = linux_arm
106 HS_ARCH = arm
107 endif
108
109 # PPC
110 ifeq ($(ARCH), ppc)
111 ARCH_DATA_MODEL = 32
112 PLATFORM = linux-ppc
113 VM_PLATFORM = linux_ppc
114 HS_ARCH = ppc
115 endif
116
117 # On 32 bit linux we build server and client, on 64 bit just server.
118 ifeq ($(JVM_VARIANTS),)
119 ifeq ($(ARCH_DATA_MODEL), 32)
120 JVM_VARIANTS:=client,server
121 JVM_VARIANT_CLIENT:=true
122 JVM_VARIANT_SERVER:=true
123 else
124 JVM_VARIANTS:=server
125 JVM_VARIANT_SERVER:=true
126 endif
127 endif
128
129 # determine if HotSpot is being built in JDK6 or earlier version
130 JDK6_OR_EARLIER=0
131 ifeq "$(shell expr \( '$(JDK_MAJOR_VERSION)' != '' \& '$(JDK_MINOR_VERSION)' != '' \& '$(JDK_MICRO_VERSION)' != '' \))" "1"
132 # if the longer variable names (newer build style) are set, then check those
133 ifeq "$(shell expr \( $(JDK_MAJOR_VERSION) = 1 \& $(JDK_MINOR_VERSION) \< 7 \))" "1"
134 JDK6_OR_EARLIER=1
135 endif
136 else
137 # the longer variables aren't set so check the shorter variable names
138 ifeq "$(shell expr \( '$(JDK_MAJOR_VER)' = 1 \& '$(JDK_MINOR_VER)' \< 7 \))" "1"
139 JDK6_OR_EARLIER=1
140 endif
141 endif
142
143 ifeq ($(JDK6_OR_EARLIER),0)
144 # Full Debug Symbols is supported on JDK7 or newer
145
146 # Default OBJCOPY comes from GNU Binutils on Linux:
147 DEF_OBJCOPY=/usr/bin/objcopy
148 ifdef CROSS_COMPILE_ARCH
190 JDK_INCLUDE_SUBDIR=linux
191
192 # Library suffix
193 LIBRARY_SUFFIX=so
194
195 # FIXUP: The subdirectory for a debug build is NOT the same on all platforms
196 VM_DEBUG=jvmg
197
198 EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html
199
200 # client and server subdirectories have symbolic links to ../libjsig.so
201 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX)
202 ifneq ($(OBJCOPY),)
203 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.debuginfo
204 endif
205 EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server
206 EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client
207
208 EXPORT_LIST += $(EXPORT_JRE_LIB_DIR)/wb.jar
209
210 ifeq ($(findstring true, $(JVM_VARIANT_SERVER) $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
211 EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
212 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX)
213 ifneq ($(OBJCOPY),)
214 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo
215 endif
216 endif
217
218 ifeq ($(JVM_VARIANT_CLIENT),true)
219 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
220 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX)
221 ifneq ($(OBJCOPY),)
222 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo
223 endif
224 endif
225
226 # Serviceability Binaries
227 # No SA Support for PPC, IA64, ARM or zero
228 ADD_SA_BINARIES/x86 = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \
229 $(EXPORT_LIB_DIR)/sa-jdi.jar
230 ADD_SA_BINARIES/sparc = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \
231 $(EXPORT_LIB_DIR)/sa-jdi.jar
232 ifneq ($(OBJCOPY),)
233 ADD_SA_BINARIES/x86 += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo
234 ADD_SA_BINARIES/sparc += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo
235 endif
236 ADD_SA_BINARIES/ppc =
237 ADD_SA_BINARIES/ia64 =
238 ADD_SA_BINARIES/arm =
239 ADD_SA_BINARIES/zero =
240
241 EXPORT_LIST += $(ADD_SA_BINARIES/$(HS_ARCH))
242
243
|