[haiku-commits] haiku: hrev44648 - in build: jam scripts

  • From: mattmadia@xxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 17 Sep 2012 01:49:30 +0200 (CEST)

hrev44648 adds 4 changesets to branch 'master'
old head: f672eb2827c4d2c10387921a2042919f60178809
new head: d4cc0de33ee72f0cd9d1b607e8dbcadce7d75400

----------------------------------------------------------------------------

1a53a4d: Refactored the stripping of debug symbols to be a per-archive basis.
  
  Setting 'HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES = 1' will enable the
  mechanism. By default all packages will be stripped. Passing anything
  other than '1' or 'true' in the InstallOptionalHaikuImagePackage call
  will disable it for a particular package.

7ae330f: Updated comment.

5114fc1: Ensure that wpa_supplicant does not get stripped. See #8603 for 
history.

d4cc0de: Re-enable stripping of debug symbols for @alpha-*, @nightly-*
  
  For a GCC 2 hybrid image, this brings the size down from 781MiB to 743MiB.

                                        [ Matt Madia <mattmadia@xxxxxxxxx> ]

----------------------------------------------------------------------------

7 files changed, 35 insertions(+), 17 deletions(-)
build/jam/HaikuCD                |    2 --
build/jam/HaikuImage             |    2 --
build/jam/ImageRules             |   31 ++++++++++++++++++++++++-------
build/jam/OptionalPackages       |    8 +++++---
build/jam/ReleaseBuildProfiles   |    2 ++
build/jam/UserBuildConfig.ReadMe |    1 +
build/scripts/build_haiku_image  |    6 +++---

############################################################################

Commit:      1a53a4d3f5ab0881fbe0b76bfb360d94cfb6d1a1
URL:         http://cgit.haiku-os.org/haiku/commit/?id=1a53a4d
Author:      Matt Madia <mattmadia@xxxxxxxxx>
Date:        Sun Sep 16 23:41:24 2012 UTC

Refactored the stripping of debug symbols to be a per-archive basis.

Setting 'HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES = 1' will enable the
mechanism. By default all packages will be stripped. Passing anything
other than '1' or 'true' in the InstallOptionalHaikuImagePackage call
will disable it for a particular package.

----------------------------------------------------------------------------

diff --git a/build/jam/HaikuCD b/build/jam/HaikuCD
index e88ba3b..d77e752 100644
--- a/build/jam/HaikuCD
+++ b/build/jam/HaikuCD
@@ -28,8 +28,6 @@ AddVariableToScript $(script) : isCD : 1 ;
 AddVariableToScript $(script) : cdLabel : $(HAIKU_CD_LABEL) ;
 AddVariableToScript $(script) : addBuildCompatibilityLibDir
        : $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR) ;
-AddVariableToScript $(script) : stripOptionalPackageDebugSymbols
-       : $(HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES) ;
 AddTargetVariableToScript $(script) : <build>addattr ;
 AddTargetVariableToScript $(script) : <build>copyattr ;
 AddTargetVariableToScript $(script) : <build>rc ;
diff --git a/build/jam/HaikuImage b/build/jam/HaikuImage
index b19863e..67fc612 100644
--- a/build/jam/HaikuImage
+++ b/build/jam/HaikuImage
@@ -904,8 +904,6 @@ AddVariableToScript $(script) : addBuildCompatibilityLibDir
        : $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR) ;
 AddVariableToScript $(script) : dontClearImage : $(HAIKU_DONT_CLEAR_IMAGE) ;
 AddVariableToScript $(script) : updateOnly : [ IsUpdateHaikuImageOnly ] ;
-AddVariableToScript $(script) : stripOptionalPackageDebugSymbols
-       : $(HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES) ;
 AddTargetVariableToScript $(script) : <build>addattr ;
 AddTargetVariableToScript $(script) : <build>bfs_shell : bfsShell ;
 AddTargetVariableToScript $(script) : <build>fs_shell_command : fsShellCommand 
;
diff --git a/build/jam/ImageRules b/build/jam/ImageRules
index 48ebb82..c227540 100644
--- a/build/jam/ImageRules
+++ b/build/jam/ImageRules
@@ -283,16 +283,17 @@ rule CopyDirectoryToContainer container : directoryTokens 
: sourceDirectory
 }
 
 rule ExtractArchiveToContainer container : directoryTokens : archiveFile
-       : extractedSubDir
+       : extractedSubDir : stripDebugSymbols
 {
        # ExtractArchiveToContainer <container> : <directory> : <archiveFile>
-       #       : <extractedSubDir> ;
+       #       : <extractedSubDir> : <stripDebugSymbols> ;
 
        local directory = [ AddDirectoryToContainer $(container)
                : $(directoryTokens) ] ;
 
        ARCHIVE_FILES_TO_INSTALL on $(directory) += $(archiveFile) ;
        ARCHIVE_SUBDIR_TO_INSTALL_FROM on $(archiveFile) = $(extractedSubDir) ;
+       ARCHIVE_FILES_TO_STRIP on $(archiveFile) = $(stripDebugSymbols) ;
 }
 
 rule AddDriversToContainer container : relativeDirectoryTokens : targets
@@ -607,6 +608,11 @@ rule CreateContainerExtractFilesScript container : script
                        ARCHIVE_SUBDIR_TO_INSTALL_FROM on $(dummyTarget) =
                                $(extractedSubDir:E=.) ;
 
+                       local stripDebugSymbols = [ on $(archiveFile)
+                               return $(ARCHIVE_FILES_TO_STRIP) ] ;
+                       STRIP_DEBUG_SYMBOLS_FROM_ARCHIVE on $(dummyTarget) =
+                               $(stripDebugSymbols) ;
+
                        Depends $(dummyTarget) : $(initScript) $(archiveFile)
                                $(serializationDependency) ;
                        Depends $(script) : $(dummyTarget) ;
@@ -622,7 +628,8 @@ rule CreateContainerExtractFilesScript container : script
 actions AddExtractFileToContainerExtractFilesScript
 {
        echo extractFile "\"$(2[2])\"" "\"$(TARGET_DIR)\"" \
-               "\"$(ARCHIVE_SUBDIR_TO_INSTALL_FROM)\"" >> $(2[1])
+               "\"$(ARCHIVE_SUBDIR_TO_INSTALL_FROM)\"" \
+               "\"$(STRIP_DEBUG_SYMBOLS_FROM_ARCHIVE)\"" >> $(2[1])
 }
 
 
@@ -729,7 +736,7 @@ rule AddWifiFirmwareToHaikuImage driver : package : archive 
: extract
 }
 
 rule ExtractArchiveToHaikuImage dirTokens : archiveFile : alwaysUpdate
-       : extractedSubDir
+       : extractedSubDir : stripDebugSymbols
 {
        # ExtractArchiveToHaikuImage <dirTokens> : <archiveFile> : 
<alwaysUpdate>
        #       : <extractedSubDir> ;
@@ -738,7 +745,7 @@ rule ExtractArchiveToHaikuImage dirTokens : archiveFile : 
alwaysUpdate
        # requested.
        if ! [ IsUpdateHaikuImageOnly ] || $(alwaysUpdate) {
                ExtractArchiveToContainer $(HAIKU_IMAGE_CONTAINER_NAME) : 
$(dirTokens)
-                       : $(archiveFile) : $(extractedSubDir) ;
+                       : $(archiveFile) : $(extractedSubDir) : 
$(stripDebugSymbols) ;
        }
 }
 
@@ -825,6 +832,7 @@ rule InstallSourceArchive file : url
 }
 
 rule InstallOptionalHaikuImagePackage package : url : dirTokens : isCDPackage
+       : stripDebugSymbols
 {
        # download archive file
        local archiveFile = [ DownloadFile $(package) : $(url) ] ;
@@ -835,8 +843,17 @@ rule InstallOptionalHaikuImagePackage package : url : 
dirTokens : isCDPackage
                # copy onto image
                AddFilesToHaikuImage _packages_ : $(archiveFile) ;
        } else {
+               if $(HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES) = 1 {
+                       stripDebugSymbols ?= 1 ;
+                       # The script will only test for = 1. This is in case 
someone
+                       # manually set the flag 'true'
+                       if $(stripDebugSymbols) = true {
+                               stripDebugSymbols = 1 ;
+                       }
+               }
                # extract onto image
-               ExtractArchiveToHaikuImage $(dirTokens) : $(archiveFile) ;
+               ExtractArchiveToHaikuImage $(dirTokens) : $(archiveFile)
+                       : : : $(stripDebugSymbols) ;
        }
 }
 
@@ -1472,7 +1489,7 @@ actions BuildCDBootPPCImage1 bind MAPS
        || \
        genisoimage -v -hfs -part -map $(MAPS) -no-desktop -hfs-volid bootimg \
                -V bootimg -hfs-bless $(HAIKU_OUTPUT_DIR)/cd/ppc -prep-boot \
-               ppc/$(>[2]:D=) -r -o $(<) $(HAIKU_OUTPUT_DIR)/cd 
+               ppc/$(>[2]:D=) -r -o $(<) $(HAIKU_OUTPUT_DIR)/cd
        #$(RM) -R $(HAIKU_OUTPUT_DIR)/cd
 }
 
diff --git a/build/scripts/build_haiku_image b/build/scripts/build_haiku_image
index d6001f9..155e5f6 100755
--- a/build/scripts/build_haiku_image
+++ b/build/scripts/build_haiku_image
@@ -16,7 +16,6 @@ set -o errexit
 # dontClearImage
 # isVMwareImage
 # optionalPackageDescriptions
-# stripOptionalPackageDebugSymbols
 #
 # addattr
 # copyattr
@@ -158,10 +157,11 @@ stripDebugInfo()
 
 extractFile()
 {
-       # extractFile <archive> <directory>
+       # extractFile <archive> <directory> <extractedSubDir> 
<stripDebugSymbols>
        archiveFile=$1
        targetExtractedDir=$2
        extractedSubDir=$3
+       stripDebugSymbols=$4
 
        echo "Extracting $archiveFile ..."
 
@@ -188,7 +188,7 @@ extractFile()
                rm $extractDir/.OptionalPackageDescription
        fi
 
-       if [ "$stripOptionalPackageDebugSymbols" = "1" ]; then
+       if [ "$stripDebugSymbols" = "1" ]; then
                # strip executables in common/bin
                if [ -d $extractDir/common/bin ]; then
                        for file in `find $extractDir/common/bin -type f -a 
-perm +100 \

############################################################################

Commit:      7ae330f46b58a124c98e9ba454ed1cf8e94955ac
URL:         http://cgit.haiku-os.org/haiku/commit/?id=7ae330f
Author:      Matt Madia <mattmadia@xxxxxxxxx>
Date:        Sun Sep 16 23:45:09 2012 UTC

Updated comment.

----------------------------------------------------------------------------

diff --git a/build/jam/UserBuildConfig.ReadMe b/build/jam/UserBuildConfig.ReadMe
index d1c9eb1..637de80 100644
--- a/build/jam/UserBuildConfig.ReadMe
+++ b/build/jam/UserBuildConfig.ReadMe
@@ -63,6 +63,7 @@ HAIKU_IMAGE_DIR               = /tmp ;
 HAIKU_IMAGE_SIZE       = 100 ;
 
 # Enable stripping the debug symbols from optional packages.
+# Note, some optional packages may override this to prevent stripping.
 HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES = 1 ;
 
 # Set image volume label to "Walter". Default label is "Haiku".

############################################################################

Commit:      5114fc1dd3084d01f4da858440b00ec749a74393
URL:         http://cgit.haiku-os.org/haiku/commit/?id=5114fc1
Author:      Matt Madia <mattmadia@xxxxxxxxx>
Date:        Sun Sep 16 23:45:44 2012 UTC

Ticket:      https://dev.haiku-os.org/ticket/8603

Ensure that wpa_supplicant does not get stripped. See #8603 for history.

----------------------------------------------------------------------------

diff --git a/build/jam/OptionalPackages b/build/jam/OptionalPackages
index 9541517..592acfd 100644
--- a/build/jam/OptionalPackages
+++ b/build/jam/OptionalPackages
@@ -848,7 +848,7 @@ if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] && 
$(TARGET_ARCH) = x86 {
        AddHeaderDirectoryToHaikuImage libs tiff : 3rdparty ;
        AddHeaderDirectoryToHaikuImage libs zlib : 3rdparty ;
 
-       CopyDirectoryToHaikuImage develop headers : 
+       CopyDirectoryToHaikuImage develop headers :
                [ FDirName $(HAIKU_FREETYPE_DIR) develop headers 3rdparty ] ;
        CopyDirectoryToHaikuImage develop headers : $(HAIKU_JPEG_HEADERS)
                : 3rdparty ;
@@ -2050,11 +2050,13 @@ if [ IsOptionalHaikuImagePackageAdded wpa_supplicant ] {
        } else if $(HAIKU_GCC_VERSION[1]) >= 4 {
                InstallOptionalHaikuImagePackage
                        wpa_supplicant-0.7.3-x86-gcc4-2012-04-03.zip
-                       : 
$(baseURL)/wpa_supplicant-0.7.3-x86-gcc4-2012-04-03.zip ;
+                       : 
$(baseURL)/wpa_supplicant-0.7.3-x86-gcc4-2012-04-03.zip
+                       : : : false ;
        } else {
                InstallOptionalHaikuImagePackage
                        wpa_supplicant-0.7.3-x86-gcc2-2012-04-03.zip
-                       : 
$(baseURL)/wpa_supplicant-0.7.3-x86-gcc2-2012-04-03.zip ;
+                       : 
$(baseURL)/wpa_supplicant-0.7.3-x86-gcc2-2012-04-03.zip
+                       : : : false ;
        }
 }
 

############################################################################

Revision:    hrev44648
Commit:      d4cc0de33ee72f0cd9d1b607e8dbcadce7d75400
URL:         http://cgit.haiku-os.org/haiku/commit/?id=d4cc0de
Author:      Matt Madia <mattmadia@xxxxxxxxx>
Date:        Sun Sep 16 23:47:29 2012 UTC

Re-enable stripping of debug symbols for @alpha-*, @nightly-*

For a GCC 2 hybrid image, this brings the size down from 781MiB to 743MiB.

----------------------------------------------------------------------------

diff --git a/build/jam/ReleaseBuildProfiles b/build/jam/ReleaseBuildProfiles
index 8857651..8de37d9 100644
--- a/build/jam/ReleaseBuildProfiles
+++ b/build/jam/ReleaseBuildProfiles
@@ -16,6 +16,7 @@ switch $(HAIKU_BUILD_PROFILE) {
                HAIKU_ROOT_USER_REAL_NAME = "Yourself" ;
                AddGroupToHaikuImage party : 101 : user sshd ;
                HAIKU_IMAGE_HOST_NAME = shredder ;
+               HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES = 1 ;
                HAIKU_IMAGE_SIZE = 800 ;
 
                AddOptionalHaikuImagePackages TimGMSoundFont TrackerNewTemplates
@@ -37,6 +38,7 @@ switch $(HAIKU_BUILD_PROFILE) {
                HAIKU_ROOT_USER_NAME = user ;
                HAIKU_ROOT_USER_REAL_NAME = "Yourself" ;
                AddGroupToHaikuImage party : 101 : user sshd ;
+               HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES = 1 ;
                HAIKU_IMAGE_HOST_NAME = shredder ;
                HAIKU_IMAGE_SIZE = 600 ;
 


Other related posts:

  • » [haiku-commits] haiku: hrev44648 - in build: jam scripts - mattmadia