comparison make/linux/makefiles/vm.make @ 6020:d652a62d6e03

7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris Summary: Add support for ENABLE_FULL_DEBUG_SYMBOLS and ZIP_DEBUGINFO_FILES build flags. Add support for .diz files. Reviewed-by: dholmes, ohair, sspitsyn
author dcubed
date Fri, 23 Mar 2012 11:50:33 -0700
parents 719f7007c8e8
children 74c359c4a9e5
comparison
equal deleted inserted replaced
4958:3b24e7e01d20 6020:d652a62d6e03
1 # 1 #
2 # Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved. 2 # Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 # 4 #
5 # This code is free software; you can redistribute it and/or modify it 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 6 # under the terms of the GNU General Public License version 2 only, as
7 # published by the Free Software Foundation. 7 # published by the Free Software Foundation.
59 Src_Dirs_I += $(GENERATED) 59 Src_Dirs_I += $(GENERATED)
60 # The order is important for the precompiled headers to work. 60 # The order is important for the precompiled headers to work.
61 INCLUDES += $(PRECOMPILED_HEADER_DIR:%=-I%) $(Src_Dirs_I:%=-I%) 61 INCLUDES += $(PRECOMPILED_HEADER_DIR:%=-I%) $(Src_Dirs_I:%=-I%)
62 62
63 # SYMFLAG is used by {jsig,saproc}.make 63 # SYMFLAG is used by {jsig,saproc}.make
64 ifneq ($(OBJCOPY),) 64 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
65 # always build with debug info when we can create .debuginfo files 65 # always build with debug info when we can create .debuginfo files
66 SYMFLAG = -g 66 SYMFLAG = -g
67 else 67 else
68 ifeq (${VERSION}, debug) 68 ifeq (${VERSION}, debug)
69 SYMFLAG = -g 69 SYMFLAG = -g
137 JVM = jvm 137 JVM = jvm
138 LIBJVM = lib$(JVM).so 138 LIBJVM = lib$(JVM).so
139 LIBJVM_G = lib$(JVM)$(G_SUFFIX).so 139 LIBJVM_G = lib$(JVM)$(G_SUFFIX).so
140 140
141 LIBJVM_DEBUGINFO = lib$(JVM).debuginfo 141 LIBJVM_DEBUGINFO = lib$(JVM).debuginfo
142 LIBJVM_DIZ = lib$(JVM).diz
142 LIBJVM_G_DEBUGINFO = lib$(JVM)$(G_SUFFIX).debuginfo 143 LIBJVM_G_DEBUGINFO = lib$(JVM)$(G_SUFFIX).debuginfo
144 LIBJVM_G_DIZ = lib$(JVM)$(G_SUFFIX).diz
143 145
144 SPECIAL_PATHS:=adlc c1 gc_implementation opto shark libadt 146 SPECIAL_PATHS:=adlc c1 gc_implementation opto shark libadt
145 147
146 SOURCE_PATHS=\ 148 SOURCE_PATHS=\
147 $(shell find $(HS_COMMON_SRC)/share/vm/* -type d \! \ 149 $(shell find $(HS_COMMON_SRC)/share/vm/* -type d \! \
329 fi \ 331 fi \
330 fi \ 332 fi \
331 fi \ 333 fi \
332 } 334 }
333 ifeq ($(CROSS_COMPILE_ARCH),) 335 ifeq ($(CROSS_COMPILE_ARCH),)
334 ifneq ($(OBJCOPY),) 336 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
335 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DEBUGINFO) 337 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DEBUGINFO)
336 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DEBUGINFO) $@ 338 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DEBUGINFO) $@
337 ifeq ($(STRIP_POLICY),all_strip) 339 ifeq ($(STRIP_POLICY),all_strip)
338 $(QUIETLY) $(STRIP) $@ 340 $(QUIETLY) $(STRIP) $@
339 else 341 else
341 $(QUIETLY) $(STRIP) -g $@ 343 $(QUIETLY) $(STRIP) -g $@
342 # implied else here is no stripping at all 344 # implied else here is no stripping at all
343 endif 345 endif
344 endif 346 endif
345 $(QUIETLY) [ -f $(LIBJVM_G_DEBUGINFO) ] || ln -s $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO) 347 $(QUIETLY) [ -f $(LIBJVM_G_DEBUGINFO) ] || ln -s $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO)
348 ifeq ($(ZIP_DEBUGINFO_FILES),1)
349 $(ZIPEXE) -q -y $(LIBJVM_DIZ) $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO)
350 $(RM) $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO)
351 [ -f $(LIBJVM_G_DIZ) ] || { ln -s $(LIBJVM_DIZ) $(LIBJVM_G_DIZ); }
352 endif
346 endif 353 endif
347 endif 354 endif
348 355
349 DEST_SUBDIR = $(JDK_LIBDIR)/$(VM_SUBDIR) 356 DEST_SUBDIR = $(JDK_LIBDIR)/$(VM_SUBDIR)
350 DEST_JVM = $(DEST_SUBDIR)/$(LIBJVM) 357 DEST_JVM = $(DEST_SUBDIR)/$(LIBJVM)
351 DEST_JVM_DEBUGINFO = $(DEST_SUBDIR)/$(LIBJVM_DEBUGINFO) 358 DEST_JVM_DEBUGINFO = $(DEST_SUBDIR)/$(LIBJVM_DEBUGINFO)
359 DEST_JVM_DIZ = $(DEST_SUBDIR)/$(LIBJVM_DIZ)
352 360
353 install_jvm: $(LIBJVM) 361 install_jvm: $(LIBJVM)
354 @echo "Copying $(LIBJVM) to $(DEST_JVM)" 362 @echo "Copying $(LIBJVM) to $(DEST_JVM)"
355 $(QUIETLY) test -f $(LIBJVM_DEBUGINFO) && \ 363 $(QUIETLY) test -f $(LIBJVM_DEBUGINFO) && \
356 cp -f $(LIBJVM_DEBUGINFO) $(DEST_JVM_DEBUGINFO) 364 cp -f $(LIBJVM_DEBUGINFO) $(DEST_JVM_DEBUGINFO)
365 $(QUIETLY) test -f $(LIBJVM_DIZ) && \
366 cp -f $(LIBJVM_DIZ) $(DEST_JVM_DIZ)
357 $(QUIETLY) cp -f $(LIBJVM) $(DEST_JVM) && echo "Done" 367 $(QUIETLY) cp -f $(LIBJVM) $(DEST_JVM) && echo "Done"
358 368
359 #---------------------------------------------------------------------- 369 #----------------------------------------------------------------------
360 # Other files 370 # Other files
361 371