make/linux/makefiles/vm.make

changeset 3150
da0999c4b733
parent 2837
dddc5753c53a
child 3427
94ec88ca68e2
     1.1 --- a/make/linux/makefiles/vm.make	Thu Sep 15 20:56:24 2011 -0700
     1.2 +++ b/make/linux/makefiles/vm.make	Fri Sep 16 16:21:20 2011 -0700
     1.3 @@ -60,10 +60,16 @@
     1.4  # The order is important for the precompiled headers to work.
     1.5  INCLUDES += $(PRECOMPILED_HEADER_DIR:%=-I%) $(Src_Dirs_I:%=-I%)
     1.6  
     1.7 -ifeq (${VERSION}, debug)
     1.8 +# SYMFLAG is used by {jsig,saproc}.make
     1.9 +ifneq ($(OBJCOPY),)
    1.10 +  # always build with debug info when we can create .debuginfo files
    1.11    SYMFLAG = -g
    1.12  else
    1.13 -  SYMFLAG =
    1.14 +  ifeq (${VERSION}, debug)
    1.15 +    SYMFLAG = -g
    1.16 +  else
    1.17 +    SYMFLAG =
    1.18 +  endif
    1.19  endif
    1.20  
    1.21  # HOTSPOT_RELEASE_VERSION and HOTSPOT_BUILD_VERSION are defined 
    1.22 @@ -124,6 +130,9 @@
    1.23  LIBJVM   = lib$(JVM).so
    1.24  LIBJVM_G = lib$(JVM)$(G_SUFFIX).so
    1.25  
    1.26 +LIBJVM_DEBUGINFO   = lib$(JVM).debuginfo
    1.27 +LIBJVM_G_DEBUGINFO = lib$(JVM)$(G_SUFFIX).debuginfo
    1.28 +
    1.29  SPECIAL_PATHS:=adlc c1 gc_implementation opto shark libadt
    1.30  
    1.31  SOURCE_PATHS=\
    1.32 @@ -307,11 +316,30 @@
    1.33  	      fi                                                        \
    1.34              fi 								\
    1.35  	}
    1.36 +ifeq ($(CROSS_COMPILE_ARCH),)
    1.37 +  ifneq ($(OBJCOPY),)
    1.38 +	$(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DEBUGINFO)
    1.39 +	$(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DEBUGINFO) $@
    1.40 +    ifeq ($(STRIP_POLICY),all_strip)
    1.41 +	$(QUIETLY) $(STRIP) $@
    1.42 +    else
    1.43 +      ifeq ($(STRIP_POLICY),min_strip)
    1.44 +	$(QUIETLY) $(STRIP) -g $@
    1.45 +      # implied else here is no stripping at all
    1.46 +      endif
    1.47 +    endif
    1.48 +	$(QUIETLY) [ -f $(LIBJVM_G_DEBUGINFO) ] || ln -s $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO)
    1.49 +  endif
    1.50 +endif
    1.51  
    1.52 -DEST_JVM = $(JDK_LIBDIR)/$(VM_SUBDIR)/$(LIBJVM)
    1.53 +DEST_SUBDIR        = $(JDK_LIBDIR)/$(VM_SUBDIR)
    1.54 +DEST_JVM           = $(DEST_SUBDIR)/$(LIBJVM)
    1.55 +DEST_JVM_DEBUGINFO = $(DEST_SUBDIR)/$(LIBJVM_DEBUGINFO)
    1.56  
    1.57  install_jvm: $(LIBJVM)
    1.58  	@echo "Copying $(LIBJVM) to $(DEST_JVM)"
    1.59 +	$(QUIETLY) test -f $(LIBJVM_DEBUGINFO) && \
    1.60 +	    cp -f $(LIBJVM_DEBUGINFO) $(DEST_JVM_DEBUGINFO)
    1.61  	$(QUIETLY) cp -f $(LIBJVM) $(DEST_JVM) && echo "Done"
    1.62  
    1.63  #----------------------------------------------------------------------

mercurial