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),)
126 # OBJCOPY version check:
127 # - version number is last blank separate word on first line
128 # - version number formats that have been seen:
129 # - <major>.<minor>
130 # - <major>.<minor>.<micro>
131 #
132 # Full Debug Symbols on Solaris needs version 2.21.1 or newer.
133 #
134 OBJCOPY_VERS_CHK := $(shell \
135 $(OBJCOPY) --version \
136 | sed -n \
137 -e 's/.* //' \
138 -e '/^[01]\./b bad' \
139 -e '/^2\./{' \
140 -e ' s/^2\.//' \
141 -e ' /^[0-9]$$/b bad' \
142 -e ' /^[0-9]\./b bad' \
143 -e ' /^1[0-9]$$/b bad' \
144 -e ' /^1[0-9]\./b bad' \
157 _JUNK_ := $(shell \
158 echo >&2 "WARNING: $(OBJCOPY) --version info:"; \
159 $(OBJCOPY) --version | sed -n -e 's/^/WARNING: /p' -e 'q' >&2; \
160 echo >&2 "WARNING: an objcopy version of 2.21.1 or newer" \
161 "is needed to create valid .debuginfo files."; \
162 echo >&2 "WARNING: ignoring above objcopy command."; \
163 echo >&2 "WARNING: patch 149063-01 or newer contains the" \
164 "correct Solaris 10 SPARC version."; \
165 echo >&2 "WARNING: patch 149064-01 or newer contains the" \
166 "correct Solaris 10 X86 version."; \
167 echo >&2 "WARNING: Solaris 11 Update 1 contains the" \
168 "correct version."; \
169 )
170 OBJCOPY=
171 endif
172 endif
173
174 ifeq ($(OBJCOPY),)
175 $(eval $(call print_info, "no objcopy cmd found so cannot create .debuginfo files."))
176 ENABLE_FULL_DEBUG_SYMBOLS=0
177 $(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
178 else
179 $(eval $(call print_info, "$(OBJCOPY) cmd found so will create .debuginfo files."))
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
221
222 ifeq ($(JVM_VARIANT_SERVER),true)
223 EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
224 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX)
225 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_db.$(LIBRARY_SUFFIX)
226 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_dtrace.$(LIBRARY_SUFFIX)
227 ifeq ($(ARCH_DATA_MODEL),32)
228 EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_db.$(LIBRARY_SUFFIX)
229 EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_dtrace.$(LIBRARY_SUFFIX)
230 endif
231 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
232 ifeq ($(ZIP_DEBUGINFO_FILES),1)
233 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.diz
234 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_db.diz
235 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_dtrace.diz
236 ifeq ($(ARCH_DATA_MODEL),32)
237 EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_db.diz
238 EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_dtrace.diz
239 endif
240 else
241 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo
242 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_db.debuginfo
243 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_dtrace.debuginfo
244 ifeq ($(ARCH_DATA_MODEL),32)
245 EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_db.debuginfo
246 EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_dtrace.debuginfo
247 endif
248 endif
249 endif
250 endif
251 ifeq ($(JVM_VARIANT_CLIENT),true)
252 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
253 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX)
254 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_db.$(LIBRARY_SUFFIX)
255 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.$(LIBRARY_SUFFIX)
256 ifeq ($(ARCH_DATA_MODEL),32)
257 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.$(LIBRARY_SUFFIX)
258 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.$(LIBRARY_SUFFIX)
259 endif
260 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
261 ifeq ($(ZIP_DEBUGINFO_FILES),1)
262 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.diz
263 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_db.diz
264 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.diz
265 ifeq ($(ARCH_DATA_MODEL),32)
266 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.diz
267 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.diz
268 endif
269 else
270 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo
271 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_db.debuginfo
272 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.debuginfo
273 ifeq ($(ARCH_DATA_MODEL),32)
274 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.debuginfo
275 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.debuginfo
276 endif
277 endif
278 endif
279 endif
|
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 ifeq ($(COPY_DEBUG_SYMBOLS), true)
126 ifneq ($(OBJCOPY),)
127 # OBJCOPY version check:
128 # - version number is last blank separate word on first line
129 # - version number formats that have been seen:
130 # - <major>.<minor>
131 # - <major>.<minor>.<micro>
132 #
133 # Full Debug Symbols on Solaris needs version 2.21.1 or newer.
134 #
135 OBJCOPY_VERS_CHK := $(shell \
136 $(OBJCOPY) --version \
137 | sed -n \
138 -e 's/.* //' \
139 -e '/^[01]\./b bad' \
140 -e '/^2\./{' \
141 -e ' s/^2\.//' \
142 -e ' /^[0-9]$$/b bad' \
143 -e ' /^[0-9]\./b bad' \
144 -e ' /^1[0-9]$$/b bad' \
145 -e ' /^1[0-9]\./b bad' \
158 _JUNK_ := $(shell \
159 echo >&2 "WARNING: $(OBJCOPY) --version info:"; \
160 $(OBJCOPY) --version | sed -n -e 's/^/WARNING: /p' -e 'q' >&2; \
161 echo >&2 "WARNING: an objcopy version of 2.21.1 or newer" \
162 "is needed to create valid .debuginfo files."; \
163 echo >&2 "WARNING: ignoring above objcopy command."; \
164 echo >&2 "WARNING: patch 149063-01 or newer contains the" \
165 "correct Solaris 10 SPARC version."; \
166 echo >&2 "WARNING: patch 149064-01 or newer contains the" \
167 "correct Solaris 10 X86 version."; \
168 echo >&2 "WARNING: Solaris 11 Update 1 contains the" \
169 "correct version."; \
170 )
171 OBJCOPY=
172 endif
173 endif
174
175 ifeq ($(OBJCOPY),)
176 $(eval $(call print_info, "no objcopy cmd found so cannot create .debuginfo files."))
177 ENABLE_FULL_DEBUG_SYMBOLS=0
178 COPY_DEBUG_SYMBOLS=false
179 $(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
180 else
181 $(eval $(call print_info, "$(OBJCOPY) cmd found so will create .debuginfo files."))
182
183 # Library stripping policies for .debuginfo configs:
184 # all_strip - strips everything from the library
185 # min_strip - strips most stuff from the library; leaves minimum symbols
186 # no_strip - does not strip the library at all
187 #
188 # Oracle security policy requires "all_strip". A waiver was granted on
189 # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
190 #
191 # Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled.
192 #
193 STRIP_POLICY ?= min_strip
194
195 $(eval $(call print_info, "STRIP_POLICY=$(STRIP_POLICY)"))
196
197 ZIP_DEBUGINFO_FILES ?= 1
198
199 $(eval $(call print_info, "ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)"))
200 endif
201 endif # COPY_DEBUG_SYMBOLS=true
202 endif # ENABLE_FULL_DEBUG_SYMBOLS=1
203 endif # BUILD_FLAVOR
204
205 JDK_INCLUDE_SUBDIR=solaris
206
207 # Library suffix
208 LIBRARY_SUFFIX=so
209
210 EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html
211
212 # client and server subdirectories have symbolic links to ../libjsig.$(LIBRARY_SUFFIX)
213 EXPORT_LIST += $(EXPORT_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX)
214 ifeq ($(COPY_DEBUG_SYMBOLS),true)
215 ifeq ($(ZIP_DEBUGINFO_FILES),1)
216 EXPORT_LIST += $(EXPORT_LIB_ARCH_DIR)/libjsig.diz
217 else
218 EXPORT_LIST += $(EXPORT_LIB_ARCH_DIR)/libjsig.debuginfo
219 endif
220 endif
221
222 EXPORT_SERVER_DIR = $(EXPORT_LIB_ARCH_DIR)/server
223 EXPORT_CLIENT_DIR = $(EXPORT_LIB_ARCH_DIR)/client
224
225 ifeq ($(JVM_VARIANT_SERVER),true)
226 EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
227 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX)
228 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_db.$(LIBRARY_SUFFIX)
229 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_dtrace.$(LIBRARY_SUFFIX)
230 ifeq ($(ARCH_DATA_MODEL),32)
231 EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_db.$(LIBRARY_SUFFIX)
232 EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_dtrace.$(LIBRARY_SUFFIX)
233 endif
234 ifeq ($(COPY_DEBUG_SYMBOLS),true)
235 ifeq ($(ZIP_DEBUGINFO_FILES),1)
236 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.diz
237 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_db.diz
238 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_dtrace.diz
239 ifeq ($(ARCH_DATA_MODEL),32)
240 EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_db.diz
241 EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_dtrace.diz
242 endif
243 else
244 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo
245 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_db.debuginfo
246 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_dtrace.debuginfo
247 ifeq ($(ARCH_DATA_MODEL),32)
248 EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_db.debuginfo
249 EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_dtrace.debuginfo
250 endif
251 endif
252 endif
253 endif
254 ifeq ($(JVM_VARIANT_CLIENT),true)
255 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
256 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX)
257 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_db.$(LIBRARY_SUFFIX)
258 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.$(LIBRARY_SUFFIX)
259 ifeq ($(ARCH_DATA_MODEL),32)
260 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.$(LIBRARY_SUFFIX)
261 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.$(LIBRARY_SUFFIX)
262 endif
263 ifeq ($(COPY_DEBUG_SYMBOLS),true)
264 ifeq ($(ZIP_DEBUGINFO_FILES),1)
265 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.diz
266 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_db.diz
267 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.diz
268 ifeq ($(ARCH_DATA_MODEL),32)
269 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.diz
270 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.diz
271 endif
272 else
273 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo
274 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_db.debuginfo
275 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.debuginfo
276 ifeq ($(ARCH_DATA_MODEL),32)
277 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.debuginfo
278 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.debuginfo
279 endif
280 endif
281 endif
282 endif
|