1 #
2 # Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
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 #
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 # or visit www.oracle.com if you need additional information or have any
21 # questions.
22 #
127 ARCH_DATA_MODEL = 32
128 PLATFORM = bsd-ppc
129 VM_PLATFORM = bsd_ppc
130 HS_ARCH = ppc
131 endif
132
133 # On 32 bit bsd we build server and client, on 64 bit just server.
134 ifeq ($(JVM_VARIANTS),)
135 ifeq ($(ARCH_DATA_MODEL), 32)
136 JVM_VARIANTS:=client,server
137 JVM_VARIANT_CLIENT:=true
138 JVM_VARIANT_SERVER:=true
139 else
140 JVM_VARIANTS:=server
141 JVM_VARIANT_SERVER:=true
142 endif
143 endif
144
145 OS_VENDOR:=$(shell uname -s)
146
147 # determine if HotSpot is being built in JDK6 or earlier version
148 JDK6_OR_EARLIER=0
149 ifeq "$(shell expr \( '$(JDK_MAJOR_VERSION)' != '' \& '$(JDK_MINOR_VERSION)' != '' \& '$(JDK_MICRO_VERSION)' != '' \))" "1"
150 # if the longer variable names (newer build style) are set, then check those
151 ifeq "$(shell expr \( $(JDK_MAJOR_VERSION) = 1 \& $(JDK_MINOR_VERSION) \< 7 \))" "1"
152 JDK6_OR_EARLIER=1
153 endif
154 else
155 # the longer variables aren't set so check the shorter variable names
156 ifeq "$(shell expr \( '$(JDK_MAJOR_VER)' = 1 \& '$(JDK_MINOR_VER)' \< 7 \))" "1"
157 JDK6_OR_EARLIER=1
158 endif
159 endif
160
161 ifeq ($(JDK6_OR_EARLIER),0)
162 # Full Debug Symbols is supported on JDK7 or newer.
163 # The Full Debug Symbols (FDS) default for BUILD_FLAVOR == product
164 # builds is enabled with debug info files ZIP'ed to save space. For
165 # BUILD_FLAVOR != product builds, FDS is always enabled, after all a
166 # debug build without debug info isn't very useful.
167 # The ZIP_DEBUGINFO_FILES option only has meaning when FDS is enabled.
168 #
169 # If you invoke a build with FULL_DEBUG_SYMBOLS=0, then FDS will be
170 # disabled for a BUILD_FLAVOR == product build.
171 #
172 # Note: Use of a different variable name for the FDS override option
173 # versus the FDS enabled check is intentional (FULL_DEBUG_SYMBOLS
174 # versus ENABLE_FULL_DEBUG_SYMBOLS). For auto build systems that pass
175 # in options via environment variables, use of distinct variables
176 # prevents strange behaviours. For example, in a BUILD_FLAVOR !=
177 # product build, the FULL_DEBUG_SYMBOLS environment variable will be
178 # 0, but the ENABLE_FULL_DEBUG_SYMBOLS make variable will be 1. If
179 # the same variable name is used, then different values can be picked
180 # up by different parts of the build. Just to be clear, we only need
181 # two variable names because the incoming option value can be
182 # overridden in some situations, e.g., a BUILD_FLAVOR != product
183 # build.
184
185 # Due to the multiple sub-make processes that occur this logic gets
186 # executed multiple times. We reduce the noise by at least checking that
187 # BUILD_FLAVOR has been set.
188 ifneq ($(BUILD_FLAVOR),)
189 ifeq ($(BUILD_FLAVOR), product)
190 FULL_DEBUG_SYMBOLS ?= 1
191 ENABLE_FULL_DEBUG_SYMBOLS = $(FULL_DEBUG_SYMBOLS)
192 else
193 # debug variants always get Full Debug Symbols (if available)
194 ENABLE_FULL_DEBUG_SYMBOLS = 1
195 endif
196 $(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
197 # since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
198
199 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
200 ifeq ($(OS_VENDOR), Darwin)
201 # MacOS X doesn't use OBJCOPY or STRIP_POLICY
202 OBJCOPY=
203 STRIP_POLICY=
204 ZIP_DEBUGINFO_FILES ?= 1
205 else
206 # Default OBJCOPY comes from GNU Binutils on BSD
207 ifeq ($(CROSS_COMPILE_ARCH),)
208 DEF_OBJCOPY=/usr/bin/objcopy
233 # minimum symbols
234 # no_strip - does not strip the library at all
235 #
236 # Oracle security policy requires "all_strip". A waiver was
237 # granted on 2011.09.01 that permits using "min_strip" in the
238 # Java JDK and Java JRE.
239 #
240 # Currently, STRIP_POLICY is only used when Full Debug Symbols
241 # is enabled.
242 #
243 STRIP_POLICY ?= min_strip
244
245 $(eval $(call print_info, "STRIP_POLICY=$(STRIP_POLICY)"))
246
247 ZIP_DEBUGINFO_FILES ?= 1
248 endif
249
250 $(eval $(call print_info, "ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)"))
251 endif
252 endif # ENABLE_FULL_DEBUG_SYMBOLS=1
253 endif # BUILD_FLAVOR
254 endif # JDK_6_OR_EARLIER
255
256 JDK_INCLUDE_SUBDIR=bsd
257
258 # Library suffix
259 ifeq ($(OS_VENDOR),Darwin)
260 LIBRARY_SUFFIX=dylib
261 else
262 LIBRARY_SUFFIX=so
263 endif
264
265 EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html
266
267 # client and server subdirectories have symbolic links to ../libjsig.so
268 EXPORT_LIST += $(EXPORT_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX)
269
270 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
271 ifeq ($(ZIP_DEBUGINFO_FILES),1)
272 EXPORT_LIST += $(EXPORT_LIB_ARCH_DIR)/libjsig.diz
273 else
274 ifeq ($(OS_VENDOR), Darwin)
|
1 #
2 # Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
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 #
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 # or visit www.oracle.com if you need additional information or have any
21 # questions.
22 #
127 ARCH_DATA_MODEL = 32
128 PLATFORM = bsd-ppc
129 VM_PLATFORM = bsd_ppc
130 HS_ARCH = ppc
131 endif
132
133 # On 32 bit bsd we build server and client, on 64 bit just server.
134 ifeq ($(JVM_VARIANTS),)
135 ifeq ($(ARCH_DATA_MODEL), 32)
136 JVM_VARIANTS:=client,server
137 JVM_VARIANT_CLIENT:=true
138 JVM_VARIANT_SERVER:=true
139 else
140 JVM_VARIANTS:=server
141 JVM_VARIANT_SERVER:=true
142 endif
143 endif
144
145 OS_VENDOR:=$(shell uname -s)
146
147 # The Full Debug Symbols (FDS) default for BUILD_FLAVOR == product
148 # builds is enabled with debug info files ZIP'ed to save space. For
149 # BUILD_FLAVOR != product builds, FDS is always enabled, after all a
150 # debug build without debug info isn't very useful.
151 # The ZIP_DEBUGINFO_FILES option only has meaning when FDS is enabled.
152 #
153 # If you invoke a build with FULL_DEBUG_SYMBOLS=0, then FDS will be
154 # disabled for a BUILD_FLAVOR == product build.
155 #
156 # Note: Use of a different variable name for the FDS override option
157 # versus the FDS enabled check is intentional (FULL_DEBUG_SYMBOLS
158 # versus ENABLE_FULL_DEBUG_SYMBOLS). For auto build systems that pass
159 # in options via environment variables, use of distinct variables
160 # prevents strange behaviours. For example, in a BUILD_FLAVOR !=
161 # product build, the FULL_DEBUG_SYMBOLS environment variable will be
162 # 0, but the ENABLE_FULL_DEBUG_SYMBOLS make variable will be 1. If
163 # the same variable name is used, then different values can be picked
164 # up by different parts of the build. Just to be clear, we only need
165 # two variable names because the incoming option value can be
166 # overridden in some situations, e.g., a BUILD_FLAVOR != product
167 # build.
168
169 # Due to the multiple sub-make processes that occur this logic gets
170 # executed multiple times. We reduce the noise by at least checking that
171 # BUILD_FLAVOR has been set.
172 ifneq ($(BUILD_FLAVOR),)
173 ifeq ($(BUILD_FLAVOR), product)
174 FULL_DEBUG_SYMBOLS ?= 1
175 ENABLE_FULL_DEBUG_SYMBOLS = $(FULL_DEBUG_SYMBOLS)
176 else
177 # debug variants always get Full Debug Symbols (if available)
178 ENABLE_FULL_DEBUG_SYMBOLS = 1
179 endif
180 $(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
181 # since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
182
183 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
184 ifeq ($(OS_VENDOR), Darwin)
185 # MacOS X doesn't use OBJCOPY or STRIP_POLICY
186 OBJCOPY=
187 STRIP_POLICY=
188 ZIP_DEBUGINFO_FILES ?= 1
189 else
190 # Default OBJCOPY comes from GNU Binutils on BSD
191 ifeq ($(CROSS_COMPILE_ARCH),)
192 DEF_OBJCOPY=/usr/bin/objcopy
217 # minimum symbols
218 # no_strip - does not strip the library at all
219 #
220 # Oracle security policy requires "all_strip". A waiver was
221 # granted on 2011.09.01 that permits using "min_strip" in the
222 # Java JDK and Java JRE.
223 #
224 # Currently, STRIP_POLICY is only used when Full Debug Symbols
225 # is enabled.
226 #
227 STRIP_POLICY ?= min_strip
228
229 $(eval $(call print_info, "STRIP_POLICY=$(STRIP_POLICY)"))
230
231 ZIP_DEBUGINFO_FILES ?= 1
232 endif
233
234 $(eval $(call print_info, "ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)"))
235 endif
236 endif # ENABLE_FULL_DEBUG_SYMBOLS=1
237 endif # BUILD_FLAVOR
238
239 JDK_INCLUDE_SUBDIR=bsd
240
241 # Library suffix
242 ifeq ($(OS_VENDOR),Darwin)
243 LIBRARY_SUFFIX=dylib
244 else
245 LIBRARY_SUFFIX=so
246 endif
247
248 EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html
249
250 # client and server subdirectories have symbolic links to ../libjsig.so
251 EXPORT_LIST += $(EXPORT_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX)
252
253 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
254 ifeq ($(ZIP_DEBUGINFO_FILES),1)
255 EXPORT_LIST += $(EXPORT_LIB_ARCH_DIR)/libjsig.diz
256 else
257 ifeq ($(OS_VENDOR), Darwin)
|