1 #
2 # Copyright (c) 2006, 2014, 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 #
60 HS_ARCH=x86
61 else
62 PLATFORM=solaris-i586
63 VM_PLATFORM=solaris_i486
64 HS_ARCH=x86
65 endif
66 endif
67
68 # On 32 bit solaris we build server and client, on 64 bit just server.
69 ifeq ($(JVM_VARIANTS),)
70 ifeq ($(ARCH_DATA_MODEL), 32)
71 JVM_VARIANTS:=client,server
72 JVM_VARIANT_CLIENT:=true
73 JVM_VARIANT_SERVER:=true
74 else
75 JVM_VARIANTS:=server
76 JVM_VARIANT_SERVER:=true
77 endif
78 endif
79
80 # determine if HotSpot is being built in JDK6 or earlier version
81 JDK6_OR_EARLIER=0
82 ifeq "$(shell expr \( '$(JDK_MAJOR_VERSION)' != '' \& '$(JDK_MINOR_VERSION)' != '' \& '$(JDK_MICRO_VERSION)' != '' \))" "1"
83 # if the longer variable names (newer build style) are set, then check those
84 ifeq "$(shell expr \( $(JDK_MAJOR_VERSION) = 1 \& $(JDK_MINOR_VERSION) \< 7 \))" "1"
85 JDK6_OR_EARLIER=1
86 endif
87 else
88 # the longer variables aren't set so check the shorter variable names
89 ifeq "$(shell expr \( '$(JDK_MAJOR_VER)' = 1 \& '$(JDK_MINOR_VER)' \< 7 \))" "1"
90 JDK6_OR_EARLIER=1
91 endif
92 endif
93
94 ifeq ($(JDK6_OR_EARLIER),0)
95 # Full Debug Symbols is supported on JDK7 or newer.
96 # The Full Debug Symbols (FDS) default for BUILD_FLAVOR == product
97 # builds is enabled with debug info files ZIP'ed to save space. For
98 # BUILD_FLAVOR != product builds, FDS is always enabled, after all a
99 # debug build without debug info isn't very useful.
100 # The ZIP_DEBUGINFO_FILES option only has meaning when FDS is enabled.
101 #
102 # If you invoke a build with FULL_DEBUG_SYMBOLS=0, then FDS will be
103 # disabled for a BUILD_FLAVOR == product build.
104 #
105 # Note: Use of a different variable name for the FDS override option
106 # versus the FDS enabled check is intentional (FULL_DEBUG_SYMBOLS
107 # versus ENABLE_FULL_DEBUG_SYMBOLS). For auto build systems that pass
108 # in options via environment variables, use of distinct variables
109 # prevents strange behaviours. For example, in a BUILD_FLAVOR !=
110 # product build, the FULL_DEBUG_SYMBOLS environment variable will be
111 # 0, but the ENABLE_FULL_DEBUG_SYMBOLS make variable will be 1. If
112 # the same variable name is used, then different values can be picked
113 # up by different parts of the build. Just to be clear, we only need
114 # two variable names because the incoming option value can be
115 # overridden in some situations, e.g., a BUILD_FLAVOR != product
116 # build.
117
118 # Due to the multiple sub-make processes that occur this logic gets
119 # executed multiple times. We reduce the noise by at least checking that
120 # BUILD_FLAVOR has been set.
121 ifneq ($(BUILD_FLAVOR),)
122 ifeq ($(BUILD_FLAVOR), product)
123 FULL_DEBUG_SYMBOLS ?= 1
124 ENABLE_FULL_DEBUG_SYMBOLS = $(FULL_DEBUG_SYMBOLS)
125 else
126 # debug variants always get Full Debug Symbols (if available)
127 ENABLE_FULL_DEBUG_SYMBOLS = 1
128 endif
129 $(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
130 # since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
131
132 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
133 # Default OBJCOPY comes from the SUNWbinutils package:
134 DEF_OBJCOPY=/usr/sfw/bin/gobjcopy
135 OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
136 ifneq ($(ALT_OBJCOPY),)
137 $(eval $(call print_info, "ALT_OBJCOPY=$(ALT_OBJCOPY)"))
138 OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
139 endif
140
141 ifneq ($(OBJCOPY),)
196
197 # Library stripping policies for .debuginfo configs:
198 # all_strip - strips everything from the library
199 # min_strip - strips most stuff from the library; leaves minimum symbols
200 # no_strip - does not strip the library at all
201 #
202 # Oracle security policy requires "all_strip". A waiver was granted on
203 # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
204 #
205 # Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled.
206 #
207 STRIP_POLICY ?= min_strip
208
209 $(eval $(call print_info, "STRIP_POLICY=$(STRIP_POLICY)"))
210
211 ZIP_DEBUGINFO_FILES ?= 1
212
213 $(eval $(call print_info, "ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)"))
214 endif
215 endif # ENABLE_FULL_DEBUG_SYMBOLS=1
216 endif # BUILD_FLAVOR
217 endif # JDK_6_OR_EARLIER
218
219 JDK_INCLUDE_SUBDIR=solaris
220
221 # Library suffix
222 LIBRARY_SUFFIX=so
223
224 EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html
225
226 # client and server subdirectories have symbolic links to ../libjsig.$(LIBRARY_SUFFIX)
227 EXPORT_LIST += $(EXPORT_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX)
228 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
229 ifeq ($(ZIP_DEBUGINFO_FILES),1)
230 EXPORT_LIST += $(EXPORT_LIB_ARCH_DIR)/libjsig.diz
231 else
232 EXPORT_LIST += $(EXPORT_LIB_ARCH_DIR)/libjsig.debuginfo
233 endif
234 endif
235
236 EXPORT_SERVER_DIR = $(EXPORT_LIB_ARCH_DIR)/server
237 EXPORT_CLIENT_DIR = $(EXPORT_LIB_ARCH_DIR)/client
|
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 #
60 HS_ARCH=x86
61 else
62 PLATFORM=solaris-i586
63 VM_PLATFORM=solaris_i486
64 HS_ARCH=x86
65 endif
66 endif
67
68 # On 32 bit solaris we build server and client, on 64 bit just server.
69 ifeq ($(JVM_VARIANTS),)
70 ifeq ($(ARCH_DATA_MODEL), 32)
71 JVM_VARIANTS:=client,server
72 JVM_VARIANT_CLIENT:=true
73 JVM_VARIANT_SERVER:=true
74 else
75 JVM_VARIANTS:=server
76 JVM_VARIANT_SERVER:=true
77 endif
78 endif
79
80 # The Full Debug Symbols (FDS) default for BUILD_FLAVOR == product
81 # builds is enabled with debug info files ZIP'ed to save space. For
82 # BUILD_FLAVOR != product builds, FDS is always enabled, after all a
83 # debug build without debug info isn't very useful.
84 # The ZIP_DEBUGINFO_FILES option only has meaning when FDS is enabled.
85 #
86 # If you invoke a build with FULL_DEBUG_SYMBOLS=0, then FDS will be
87 # disabled for a BUILD_FLAVOR == product build.
88 #
89 # Note: Use of a different variable name for the FDS override option
90 # versus the FDS enabled check is intentional (FULL_DEBUG_SYMBOLS
91 # versus ENABLE_FULL_DEBUG_SYMBOLS). For auto build systems that pass
92 # in options via environment variables, use of distinct variables
93 # prevents strange behaviours. For example, in a BUILD_FLAVOR !=
94 # product build, the FULL_DEBUG_SYMBOLS environment variable will be
95 # 0, but the ENABLE_FULL_DEBUG_SYMBOLS make variable will be 1. If
96 # the same variable name is used, then different values can be picked
97 # up by different parts of the build. Just to be clear, we only need
98 # two variable names because the incoming option value can be
99 # overridden in some situations, e.g., a BUILD_FLAVOR != product
100 # build.
101
102 # Due to the multiple sub-make processes that occur this logic gets
103 # executed multiple times. We reduce the noise by at least checking that
104 # BUILD_FLAVOR has been set.
105 ifneq ($(BUILD_FLAVOR),)
106 ifeq ($(BUILD_FLAVOR), product)
107 FULL_DEBUG_SYMBOLS ?= 1
108 ENABLE_FULL_DEBUG_SYMBOLS = $(FULL_DEBUG_SYMBOLS)
109 else
110 # debug variants always get Full Debug Symbols (if available)
111 ENABLE_FULL_DEBUG_SYMBOLS = 1
112 endif
113 $(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
114 # since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
115
116 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
117 # Default OBJCOPY comes from the SUNWbinutils package:
118 DEF_OBJCOPY=/usr/sfw/bin/gobjcopy
119 OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
120 ifneq ($(ALT_OBJCOPY),)
121 $(eval $(call print_info, "ALT_OBJCOPY=$(ALT_OBJCOPY)"))
122 OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
123 endif
124
125 ifneq ($(OBJCOPY),)
180
181 # Library stripping policies for .debuginfo configs:
182 # all_strip - strips everything from the library
183 # min_strip - strips most stuff from the library; leaves minimum symbols
184 # no_strip - does not strip the library at all
185 #
186 # Oracle security policy requires "all_strip". A waiver was granted on
187 # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
188 #
189 # Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled.
190 #
191 STRIP_POLICY ?= min_strip
192
193 $(eval $(call print_info, "STRIP_POLICY=$(STRIP_POLICY)"))
194
195 ZIP_DEBUGINFO_FILES ?= 1
196
197 $(eval $(call print_info, "ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)"))
198 endif
199 endif # ENABLE_FULL_DEBUG_SYMBOLS=1
200 endif # BUILD_FLAVOR
201
202 JDK_INCLUDE_SUBDIR=solaris
203
204 # Library suffix
205 LIBRARY_SUFFIX=so
206
207 EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html
208
209 # client and server subdirectories have symbolic links to ../libjsig.$(LIBRARY_SUFFIX)
210 EXPORT_LIST += $(EXPORT_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX)
211 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
212 ifeq ($(ZIP_DEBUGINFO_FILES),1)
213 EXPORT_LIST += $(EXPORT_LIB_ARCH_DIR)/libjsig.diz
214 else
215 EXPORT_LIST += $(EXPORT_LIB_ARCH_DIR)/libjsig.debuginfo
216 endif
217 endif
218
219 EXPORT_SERVER_DIR = $(EXPORT_LIB_ARCH_DIR)/server
220 EXPORT_CLIENT_DIR = $(EXPORT_LIB_ARCH_DIR)/client
|