changeset 5494:968de9a6cf66

PR1140: Unnecessary diz files should not be installed
author andrew
date Fri, 24 Aug 2012 00:49:47 +0100
parents f552beb8b4b3
children d06702bfc987
files make/common/Library.gmk make/common/Program.gmk
diffstat 2 files changed, 51 insertions(+), 43 deletions(-) [+]
line wrap: on
line diff
--- a/make/common/Library.gmk	Wed Aug 22 16:39:22 2012 +0100
+++ b/make/common/Library.gmk	Fri Aug 24 00:49:47 2012 +0100
@@ -269,6 +269,7 @@
   ifneq ($(PLATFORM), macosx)
     ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
       ifeq ($(LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS),1)
+      ifneq ($(STRIP_POLICY),no_strip)
         ifeq ($(PLATFORM), solaris)
 # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
 # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from
@@ -279,19 +280,20 @@
 #
 # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
 # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
-	(set -e ; \
-	 $(CD) $(@D) ; \
-	 $(FIX_EMPTY_SEC_HDR_FLAGS) $(@F) ; \
-	 $(OBJCOPY) --only-keep-debug $(@F) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \
-         $(ADD_GNU_DEBUGLINK) $(LIB_PREFIX)$(LIBRARY).debuginfo $(@F) ; \
-	)
+	  (set -e ; \
+	   $(CD) $(@D) ; \
+	   $(FIX_EMPTY_SEC_HDR_FLAGS) $(@F) ; \
+	   $(OBJCOPY) --only-keep-debug $(@F) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \
+           $(ADD_GNU_DEBUGLINK) $(LIB_PREFIX)$(LIBRARY).debuginfo $(@F) ; \
+	  )
         else # PLATFORM != solaris
-	(set -e ; \
-	 $(CD) $(@D) ; \
-	 $(OBJCOPY) --only-keep-debug $(@F) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \
-	 $(OBJCOPY) --add-gnu-debuglink=$(LIB_PREFIX)$(LIBRARY).debuginfo $(@F) ; \
-	)
-        endif # PLATFORM == solaris
+	  (set -e ; \
+	   $(CD) $(@D) ; \
+	   $(OBJCOPY) --only-keep-debug $(@F) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \
+	   $(OBJCOPY) --add-gnu-debuglink=$(LIB_PREFIX)$(LIBRARY).debuginfo $(@F) ; \
+	  )
+          endif # PLATFORM == solaris
+        endif # STRIP_POLICY != no_strip
         ifeq ($(STRIP_POLICY),all_strip)
 	  $(STRIP) $@
         else
@@ -305,12 +307,14 @@
           # implied else here is no stripping at all
           endif
         endif
-        ifeq ($(ZIP_DEBUGINFO_FILES),1)
-	  (set -e ; \
-	   $(CD) $(@D) ; \
-	   $(ZIPEXE) -q $(LIB_PREFIX)$(LIBRARY).diz $(LIB_PREFIX)$(LIBRARY).debuginfo ; \
-	   $(RM) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \
-	  )
+        ifneq ($(STRIP_POLICY),no_strip)
+          ifeq ($(ZIP_DEBUGINFO_FILES),1)
+	    (set -e ; \
+	     $(CD) $(@D) ; \
+	     $(ZIPEXE) -q $(LIB_PREFIX)$(LIBRARY).diz $(LIB_PREFIX)$(LIBRARY).debuginfo ; \
+	     $(RM) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \
+	    )
+          endif
         endif
       endif # LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS
     endif # ENABLE_FULL_DEBUG_SYMBOLS
--- a/make/common/Program.gmk	Wed Aug 22 16:39:22 2012 +0100
+++ b/make/common/Program.gmk	Fri Aug 24 00:49:47 2012 +0100
@@ -276,7 +276,8 @@
   ifneq ($(PLATFORM), macosx)
     ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
       ifeq ($(PROGRAM_SUPPORTS_FULL_DEBUG_SYMBOLS),1)
-        ifeq ($(PLATFORM), solaris)
+        ifneq ($(STRIP_POLICY),no_strip)
+          ifeq ($(PLATFORM), solaris)
 # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
 # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from
 # empty section headers until a fixed $(OBJCOPY) is available.
@@ -286,19 +287,20 @@
 #
 # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
 # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
-	(set -e ; \
-	 $(CD) $(@D) ; \
-	 $(FIX_EMPTY_SEC_HDR_FLAGS) $(@F) ; \
-	 $(OBJCOPY) --only-keep-debug $(@F) $(@F).debuginfo ; \
-         $(ADD_GNU_DEBUGLINK) $(@F).debuginfo $(@F) ; \
-	)
-        else # PLATFORM != solaris
-	(set -e ; \
-	 $(CD) $(@D) ; \
-	 $(OBJCOPY) --only-keep-debug $(@F) $(@F).debuginfo ; \
-	 $(OBJCOPY) --add-gnu-debuglink=$(@F).debuginfo $(@F) ; \
-	)
-        endif # PLATFORM == solaris
+	  (set -e ; \
+	   $(CD) $(@D) ; \
+	   $(FIX_EMPTY_SEC_HDR_FLAGS) $(@F) ; \
+	   $(OBJCOPY) --only-keep-debug $(@F) $(@F).debuginfo ; \
+           $(ADD_GNU_DEBUGLINK) $(@F).debuginfo $(@F) ; \
+	  )
+          else # PLATFORM != solaris
+	  (set -e ; \
+	   $(CD) $(@D) ; \
+	   $(OBJCOPY) --only-keep-debug $(@F) $(@F).debuginfo ; \
+	   $(OBJCOPY) --add-gnu-debuglink=$(@F).debuginfo $(@F) ; \
+	  )
+          endif # PLATFORM == solaris
+        endif
         ifeq ($(STRIP_POLICY),all_strip)
 	  $(STRIP) $@
         else
@@ -312,17 +314,19 @@
           # implied else here is no stripping at all
           endif
         endif
-        ifeq ($(ZIP_DEBUGINFO_FILES),1)
-	  (set -e ; \
-	   $(CD) $(@D) ; \
-	   $(ZIPEXE) -q $(@F).diz $(@F).debuginfo ; \
-	   $(RM) $(@F).debuginfo ; \
-	  )
-          # save ZIP'ed debug info with rest of the program's build artifacts
-	  $(MV) $@.diz $(OBJDIR)
-        else
-          # save debug info with rest of the program's build artifacts
-	  $(MV) $@.debuginfo $(OBJDIR)
+        ifneq ($(STRIP_POLICY),no_strip)
+          ifeq ($(ZIP_DEBUGINFO_FILES),1)
+	    (set -e ; \
+	     $(CD) $(@D) ; \
+	     $(ZIPEXE) -q $(@F).diz $(@F).debuginfo ; \
+	     $(RM) $(@F).debuginfo ; \
+	    )
+            # save ZIP'ed debug info with rest of the program's build artifacts
+	    $(MV) $@.diz $(OBJDIR)
+          else
+            # save debug info with rest of the program's build artifacts
+	    $(MV) $@.debuginfo $(OBJDIR)
+          endif
         endif
       endif # PROGRAM_SUPPORTS_FULL_DEBUG_SYMBOLS
     endif # ENABLE_FULL_DEBUG_SYMBOLS