188 # MacOS X doesn't use OBJCOPY or STRIP_POLICY
189 OBJCOPY=
190 STRIP_POLICY=
191 ZIP_DEBUGINFO_FILES ?= 1
192 else
193 # Default OBJCOPY comes from GNU Binutils on BSD
194 ifeq ($(CROSS_COMPILE_ARCH),)
195 DEF_OBJCOPY=/usr/bin/objcopy
196 else
197 # Assume objcopy is part of the cross-compilation toolset
198 ifneq ($(ALT_COMPILER_PATH),)
199 DEF_OBJCOPY=$(ALT_COMPILER_PATH)/objcopy
200 endif
201 endif
202 OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
203 ifneq ($(ALT_OBJCOPY),)
204 $(eval $(call print_info, "ALT_OBJCOPY=$(ALT_OBJCOPY)"))
205 OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
206 endif
207
208 ifeq ($(OBJCOPY),)
209 $(eval $(call print_info, "no objcopy cmd found so cannot create .debuginfo" \
210 "files. You may need to set ALT_OBJCOPY."))
211 ENABLE_FULL_DEBUG_SYMBOLS=0
212 $(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
213 else
214 $(eval $(call print_info, "$(OBJCOPY) cmd found so will create .debuginfo" \
215 "files."))
216
217 # Library stripping policies for .debuginfo configs:
218 # all_strip - strips everything from the library
219 # min_strip - strips most stuff from the library; leaves
220 # minimum symbols
221 # no_strip - does not strip the library at all
222 #
223 # Oracle security policy requires "all_strip". A waiver was
224 # granted on 2011.09.01 that permits using "min_strip" in the
225 # Java JDK and Java JRE.
226 #
227 # Currently, STRIP_POLICY is only used when Full Debug Symbols
228 # is enabled.
229 #
230 STRIP_POLICY ?= min_strip
231
232 $(eval $(call print_info, "STRIP_POLICY=$(STRIP_POLICY)"))
233
234 ZIP_DEBUGINFO_FILES ?= 1
235 endif
236
237 $(eval $(call print_info, "ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)"))
238 endif
239 endif # ENABLE_FULL_DEBUG_SYMBOLS=1
240 endif # BUILD_FLAVOR
241
242 JDK_INCLUDE_SUBDIR=bsd
243
244 # Library suffix
245 ifneq ($(STATIC_BUILD),true)
246 ifeq ($(OS_VENDOR),Darwin)
247 LIBRARY_SUFFIX=dylib
248 else
249 LIBRARY_SUFFIX=so
250 endif
251 else
252 LIBRARY_SUFFIX=a
253 endif
254
255
256 EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html
257
258 # jsig library not needed for static builds
259 ifneq ($(STATIC_BUILD),true)
260 # client and server subdirectories have symbolic links to ../libjsig.so
261 EXPORT_LIST += $(EXPORT_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX)
262 endif
263
264 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
265 ifeq ($(ZIP_DEBUGINFO_FILES),1)
266 EXPORT_LIST += $(EXPORT_LIB_ARCH_DIR)/libjsig.diz
267 else
268 ifeq ($(OS_VENDOR), Darwin)
269 EXPORT_LIST += $(EXPORT_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX).dSYM
270 else
271 EXPORT_LIST += $(EXPORT_LIB_ARCH_DIR)/libjsig.debuginfo
272 endif
273 endif
274 endif
275
276 EXPORT_SERVER_DIR = $(EXPORT_LIB_ARCH_DIR)/server
277 EXPORT_CLIENT_DIR = $(EXPORT_LIB_ARCH_DIR)/client
278 EXPORT_MINIMAL_DIR = $(EXPORT_LIB_ARCH_DIR)/minimal
279
280 ifeq ($(findstring true, $(JVM_VARIANT_SERVER) $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
281 EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
282 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX)
283 ifeq ($(STATIC_BUILD),true)
284 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.symbols
285 endif
286
287 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
288 ifeq ($(ZIP_DEBUGINFO_FILES),1)
289 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.diz
290 else
291 ifeq ($(OS_VENDOR), Darwin)
292 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX).dSYM
293 else
294 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo
295 endif
296 endif
297 endif
298 endif
299
300 ifeq ($(JVM_VARIANT_CLIENT),true)
301 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
302 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX)
303 ifeq ($(STATIC_BUILD),true)
304 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.symbols
305 endif
306
307 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
308 ifeq ($(ZIP_DEBUGINFO_FILES),1)
309 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.diz
310 else
311 ifeq ($(OS_VENDOR), Darwin)
312 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX).dSYM
313 else
314 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo
315 endif
316 endif
317 endif
318 endif
319
320 ifeq ($(JVM_VARIANT_MINIMAL1),true)
321 EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/Xusage.txt
322 EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/libjvm.$(LIBRARY_SUFFIX)
323 ifeq ($(STATIC_BUILD),true)
324 EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/libjvm.symbols
325 endif
326 endif
327
349 JDK_IMAGE_DIR=$(ALT_JDK_IMAGE_DIR)
350 endif
351
352 # Binaries to 'universalize' if built
353 ifneq ($(STATIC_BUILD),true)
354 UNIVERSAL_LIPO_LIST += $(EXPORT_LIB_DIR)/libjsig.$(LIBRARY_SUFFIX)
355 endif
356 UNIVERSAL_LIPO_LIST += $(EXPORT_LIB_DIR)/server/libjvm.$(LIBRARY_SUFFIX)
357 UNIVERSAL_LIPO_LIST += $(EXPORT_LIB_DIR)/client/libjvm.$(LIBRARY_SUFFIX)
358
359 # Files to simply copy in place
360 UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/server/Xusage.txt
361 UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/client/Xusage.txt
362
363 ifeq ($(STATIC_BUILD),true)
364 UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/server/libjvm.symbols
365 UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/client/libjvm.symbols
366 UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/minimal/libjvm.symbols
367 endif
368
369 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
370 ifeq ($(ZIP_DEBUGINFO_FILES),1)
371 UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/server/libjvm.diz
372 UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/client/libjvm.diz
373 UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/libjsig.diz
374 else
375 UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/server/libjvm.$(LIBRARY_SUFFIX).dSYM
376 UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/client/libjvm.$(LIBRARY_SUFFIX).dSYM
377 UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/libjsig.$(LIBRARY_SUFFIX).dSYM
378 endif
379 endif
380
381 endif
382 endif
|
188 # MacOS X doesn't use OBJCOPY or STRIP_POLICY
189 OBJCOPY=
190 STRIP_POLICY=
191 ZIP_DEBUGINFO_FILES ?= 1
192 else
193 # Default OBJCOPY comes from GNU Binutils on BSD
194 ifeq ($(CROSS_COMPILE_ARCH),)
195 DEF_OBJCOPY=/usr/bin/objcopy
196 else
197 # Assume objcopy is part of the cross-compilation toolset
198 ifneq ($(ALT_COMPILER_PATH),)
199 DEF_OBJCOPY=$(ALT_COMPILER_PATH)/objcopy
200 endif
201 endif
202 OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
203 ifneq ($(ALT_OBJCOPY),)
204 $(eval $(call print_info, "ALT_OBJCOPY=$(ALT_OBJCOPY)"))
205 OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
206 endif
207
208 ifeq ($(COPY_DEBUG_SYMBOLS), true)
209 ifeq ($(OBJCOPY),)
210 $(eval $(call print_info, "no objcopy cmd found so cannot create .debuginfo" \
211 "files. You may need to set ALT_OBJCOPY."))
212 ENABLE_FULL_DEBUG_SYMBOLS=0
213 COPY_DEBUG_SYMBOLS=false
214 $(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
215 else
216 $(eval $(call print_info, "$(OBJCOPY) cmd found so will create .debuginfo" \
217 "files."))
218
219 # Library stripping policies for .debuginfo configs:
220 # all_strip - strips everything from the library
221 # min_strip - strips most stuff from the library; leaves
222 # minimum symbols
223 # no_strip - does not strip the library at all
224 #
225 # Oracle security policy requires "all_strip". A waiver was
226 # granted on 2011.09.01 that permits using "min_strip" in the
227 # Java JDK and Java JRE.
228 #
229 # Currently, STRIP_POLICY is only used when Full Debug Symbols
230 # is enabled.
231 #
232 STRIP_POLICY ?= min_strip
233
234 $(eval $(call print_info, "STRIP_POLICY=$(STRIP_POLICY)"))
235
236 ZIP_DEBUGINFO_FILES ?= 1
237 endif
238
239 $(eval $(call print_info, "ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)"))
240 endif
241 endif # COPY_DEBUG_SYMBOLS=true
242 endif # ENABLE_FULL_DEBUG_SYMBOLS=1
243 endif # BUILD_FLAVOR
244
245 JDK_INCLUDE_SUBDIR=bsd
246
247 # Library suffix
248 ifneq ($(STATIC_BUILD),true)
249 ifeq ($(OS_VENDOR),Darwin)
250 LIBRARY_SUFFIX=dylib
251 else
252 LIBRARY_SUFFIX=so
253 endif
254 else
255 LIBRARY_SUFFIX=a
256 endif
257
258
259 EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html
260
261 # jsig library not needed for static builds
262 ifneq ($(STATIC_BUILD),true)
263 # client and server subdirectories have symbolic links to ../libjsig.so
264 EXPORT_LIST += $(EXPORT_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX)
265 endif
266
267 ifeq ($(COPY_DEBUG_SYMBOLS),true)
268 ifeq ($(ZIP_DEBUGINFO_FILES),1)
269 EXPORT_LIST += $(EXPORT_LIB_ARCH_DIR)/libjsig.diz
270 else
271 ifeq ($(OS_VENDOR), Darwin)
272 EXPORT_LIST += $(EXPORT_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX).dSYM
273 else
274 EXPORT_LIST += $(EXPORT_LIB_ARCH_DIR)/libjsig.debuginfo
275 endif
276 endif
277 endif
278
279 EXPORT_SERVER_DIR = $(EXPORT_LIB_ARCH_DIR)/server
280 EXPORT_CLIENT_DIR = $(EXPORT_LIB_ARCH_DIR)/client
281 EXPORT_MINIMAL_DIR = $(EXPORT_LIB_ARCH_DIR)/minimal
282
283 ifeq ($(findstring true, $(JVM_VARIANT_SERVER) $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
284 EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
285 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX)
286 ifeq ($(STATIC_BUILD),true)
287 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.symbols
288 endif
289
290 ifeq ($(COPY_DEBUG_SYMBOLS),true)
291 ifeq ($(ZIP_DEBUGINFO_FILES),1)
292 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.diz
293 else
294 ifeq ($(OS_VENDOR), Darwin)
295 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX).dSYM
296 else
297 EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo
298 endif
299 endif
300 endif
301 endif
302
303 ifeq ($(JVM_VARIANT_CLIENT),true)
304 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
305 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX)
306 ifeq ($(STATIC_BUILD),true)
307 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.symbols
308 endif
309
310 ifeq ($(COPY_DEBUG_SYMBOLS),true)
311 ifeq ($(ZIP_DEBUGINFO_FILES),1)
312 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.diz
313 else
314 ifeq ($(OS_VENDOR), Darwin)
315 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX).dSYM
316 else
317 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo
318 endif
319 endif
320 endif
321 endif
322
323 ifeq ($(JVM_VARIANT_MINIMAL1),true)
324 EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/Xusage.txt
325 EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/libjvm.$(LIBRARY_SUFFIX)
326 ifeq ($(STATIC_BUILD),true)
327 EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/libjvm.symbols
328 endif
329 endif
330
352 JDK_IMAGE_DIR=$(ALT_JDK_IMAGE_DIR)
353 endif
354
355 # Binaries to 'universalize' if built
356 ifneq ($(STATIC_BUILD),true)
357 UNIVERSAL_LIPO_LIST += $(EXPORT_LIB_DIR)/libjsig.$(LIBRARY_SUFFIX)
358 endif
359 UNIVERSAL_LIPO_LIST += $(EXPORT_LIB_DIR)/server/libjvm.$(LIBRARY_SUFFIX)
360 UNIVERSAL_LIPO_LIST += $(EXPORT_LIB_DIR)/client/libjvm.$(LIBRARY_SUFFIX)
361
362 # Files to simply copy in place
363 UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/server/Xusage.txt
364 UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/client/Xusage.txt
365
366 ifeq ($(STATIC_BUILD),true)
367 UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/server/libjvm.symbols
368 UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/client/libjvm.symbols
369 UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/minimal/libjvm.symbols
370 endif
371
372 ifeq ($(COPY_DEBUG_SYMBOLS),true)
373 ifeq ($(ZIP_DEBUGINFO_FILES),1)
374 UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/server/libjvm.diz
375 UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/client/libjvm.diz
376 UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/libjsig.diz
377 else
378 UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/server/libjvm.$(LIBRARY_SUFFIX).dSYM
379 UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/client/libjvm.$(LIBRARY_SUFFIX).dSYM
380 UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/libjsig.$(LIBRARY_SUFFIX).dSYM
381 endif
382 endif
383
384 endif
385 endif
|