From fa5dff5529d819291e62ac867fca3d27a527cbad Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Tue, 7 May 2013 02:38:55 +0200 Subject: [PATCH] Replace various boolean rule parameters by flags Instead of the boolean alwaysUpdate, isCDPackage, and stripDebugSymbols parameters use a uniform flags parameter which can contain any of the respectively supported flags (alwaysUpdate, cdPackage, stripDebugSymbols, !stripDebugSymbols). --- build/jam/ImageRules | 82 +++++++++---------- build/jam/OptionalLibPackages | 34 ++++---- build/jam/OptionalPackages | 130 +++++++++++++++---------------- build/jam/PackageRules | 13 ++-- build/jam/UserBuildConfig.ReadMe | 2 +- 5 files changed, 132 insertions(+), 129 deletions(-) diff --git a/build/jam/ImageRules b/build/jam/ImageRules index cc48814967..20036e1bb2 100644 --- a/build/jam/ImageRules +++ b/build/jam/ImageRules @@ -312,17 +312,18 @@ rule FSymlinksInContainerDirectory container : directoryTokens } rule CopyDirectoryToContainer container : directoryTokens : sourceDirectory - : targetDirectoryName : excludePatterns : alwaysUpdate + : targetDirectoryName : excludePatterns : flags { # CopyDirectoryToContainer : # : : : - # : ; + # [ : ] ; # + # Supported flags: alwaysUpdate # If the image shall only be updated, we don't copy any directories if [ on $(container) return $(HAIKU_CONTAINER_UPDATE_ONLY) ] && ! [ IncludeAllTargetsInContainer $(container) ] - && ! $(alwaysUpdate) { + && ! alwaysUpdate in $(flags) { return ; } @@ -343,17 +344,19 @@ rule CopyDirectoryToContainer container : directoryTokens : sourceDirectory rule AddHeaderDirectoryToContainer container : dirTokens : dirName - : alwaysUpdate + : flags { # AddHeaderDirectoryToContainer : : [ ] - # : ; + # [ : ] ; + # + # Supported flags: alwaysUpdate local systemDirTokens = [ on $(container) return $(HAIKU_CONTAINER_SYSTEM_DIR_TOKENS) ] ; CopyDirectoryToContainer $(container) : $(systemDirTokens) develop headers : [ FDirName $(HAIKU_TOP) headers $(dirTokens) ] - : $(dirName) : -x .svn : $(alwaysUpdate) ; + : $(dirName) : -x .svn : $(flags) ; } @@ -380,20 +383,26 @@ rule AddWifiFirmwareToContainer container : driver : package : archive : extract rule ExtractArchiveToContainer container : directoryTokens : archiveFile - : alwaysUpdate : extractedSubDir : stripDebugSymbols + : flags : extractedSubDir { # ExtractArchiveToContainer : : - # : : : ; + # : [ ] : ; + # + # Supported flags: alwaysUpdate, stripDebugSymbols # If the container shall only be updated, we extract only, if explicitely # requested. if [ on $(container) return $(HAIKU_CONTAINER_UPDATE_ONLY) ] - && ! $(alwaysUpdate) { + && ! alwaysUpdate in $(flags) { return ; } local directory = [ AddDirectoryToContainer $(container) : $(directoryTokens) ] ; + local stripDebugSymbols ; + if stripDebugSymbols in $(flags) { + stripDebugSymbols = 1 ; + } ARCHIVE_FILES_TO_INSTALL on $(directory) += $(archiveFile) ; ARCHIVE_SUBDIR_TO_INSTALL_FROM on $(archiveFile) = $(extractedSubDir) ; @@ -828,29 +837,29 @@ rule FSymlinksInHaikuImageDirectory directoryTokens } rule CopyDirectoryToHaikuImage directoryTokens : sourceDirectory - : targetDirectoryName : excludePatterns : alwaysUpdate + : targetDirectoryName : excludePatterns : flags { CopyDirectoryToContainer $(HAIKU_IMAGE_CONTAINER_NAME) : $(directoryTokens) : $(sourceDirectory) : $(targetDirectoryName) : $(excludePatterns) - : $(alwaysUpdate) ; + : $(flags) ; } -rule AddSourceDirectoryToHaikuImage dirTokens : alwaysUpdate +rule AddSourceDirectoryToHaikuImage dirTokens : flags { - # AddSourceDirectoryToHaikuImage : ; + # AddSourceDirectoryToHaikuImage : ; CopyDirectoryToHaikuImage home HaikuSources : [ FDirName $(HAIKU_TOP) $(dirTokens) ] - : : : $(alwaysUpdate) ; + : : : $(flags) ; } -rule AddHeaderDirectoryToHaikuImage dirTokens : dirName : alwaysUpdate +rule AddHeaderDirectoryToHaikuImage dirTokens : dirName : flags { # AddHeaderDirectoryToHaikuImage : [ ] - # : ; + # : ; AddHeaderDirectoryToContainer $(HAIKU_IMAGE_CONTAINER_NAME) : $(dirTokens) - : $(dirName) : $(alwaysUpdate) ; + : $(dirName) : $(flags) ; } rule AddWifiFirmwareToHaikuImage driver : package : archive : extract @@ -861,15 +870,14 @@ rule AddWifiFirmwareToHaikuImage driver : package : archive : extract : $(package) : $(archive) : $(extract) ; } -rule ExtractArchiveToHaikuImage dirTokens : archiveFile : alwaysUpdate - : extractedSubDir : stripDebugSymbols +rule ExtractArchiveToHaikuImage dirTokens : archiveFile : flags + : extractedSubDir { - # ExtractArchiveToHaikuImage : : + # ExtractArchiveToHaikuImage : : # : ; ExtractArchiveToContainer $(HAIKU_IMAGE_CONTAINER_NAME) : $(dirTokens) - : $(archiveFile) : $(alwaysUpdate) : $(extractedSubDir) - : $(stripDebugSymbols) ; + : $(archiveFile) : $(flags) : $(extractedSubDir) ; } rule AddDriversToHaikuImage relativeDirectoryTokens : targets @@ -962,20 +970,21 @@ rule InstallSourceArchive file : url } } -rule InstallOptionalHaikuImagePackage url : dirTokens : isCDPackage - : stripDebugSymbols +rule InstallOptionalHaikuImagePackage url : dirTokens : flags { # TODO: Remove the non-hpkg cases! - # Currently the semantics differs depending on isCDPackage and the type of - # the package file: + # Currently the semantics differs depending on whether the cdPackage flag + # has been specified and the type of the package file: # * For a hpkg is "common" (default) or "system" and specifies # the installation location of the package (will be copied to the # packages/ subdirectory). - # * For a regular archive and isCDPackage true, is ignored and + # * For a regular archive and cdPackage, is ignored and # the package will be copied to the _package_ directory of the CD image. - # * For a regular archive and isCDPackage false, specifies the + # * For a regular archive and without cdPackage, specifies the # directory relative to the image's root directory where the content of # the archive will be extracted to. + # + # Supported flags: cdPackage, stripDebugSymbols/!stripDebugSymbols local package = $(url:BS) ; @@ -988,24 +997,19 @@ rule InstallOptionalHaikuImagePackage url : dirTokens : isCDPackage HAIKU_INCLUDE_IN_IMAGE on $(archiveFile) = 1 ; } AddPackageFilesToHaikuImage $(location) : $(archiveFile) ; - } else if ( $(isCDPackage) = true || $(isCDPackage) = 1 ) - && $(HAIKU_CD_NAME) { + } else if cdPackage in $(flags) && $(HAIKU_CD_NAME) { # TODO: If HAIKU_CD_NAME is set, that doesn't mean we're building a CD # image! # 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 ; - } + if $(HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES) = 1 + && ! stripDebugSymbols in $(flags) + && ! !stripDebugSymbols in $(flags) { + flags += stripDebugSymbols ; } # extract onto image - ExtractArchiveToHaikuImage $(dirTokens) : $(archiveFile) - : : : $(stripDebugSymbols) ; + ExtractArchiveToHaikuImage $(dirTokens) : $(archiveFile) : $(flags) ; } } diff --git a/build/jam/OptionalLibPackages b/build/jam/OptionalLibPackages index 8e1aa6d40c..7344a2bdd2 100644 --- a/build/jam/OptionalLibPackages +++ b/build/jam/OptionalLibPackages @@ -53,7 +53,7 @@ if [ IsOptionalHaikuImagePackageAdded box2d ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/lib/box2d-2.1.2-r1a4-x86-gcc4-2012-09-09.zip - : : true ; + : : cdPackage ; } else { Echo "No optional package box2d available for $(TARGET_ARCH)-gcc2" ; } @@ -68,11 +68,11 @@ if [ IsOptionalHaikuImagePackageAdded fribidi ] { } else if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/lib/fribidi-0.19.2-r1a4-x86-gcc4-2012-09-01.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(baseURL)/lib/fribidi-0.19.2-r1a4-x86-gcc2-2012-08-29.zip - : : true ; + : : cdPackage ; } } @@ -84,11 +84,11 @@ if [ IsOptionalHaikuImagePackageAdded lcms ] { } else if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/lib/lcms-2.1-r1a4-x86-gcc4-2012-09-02.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(baseURL)/lib/lcms-2.1-r1a4-x86-gcc2-2012-08-29.zip - : : true ; + : : cdPackage ; } } @@ -100,11 +100,11 @@ if [ IsOptionalHaikuImagePackageAdded libart_lgpl ] { } else if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/lib/libart_lgpl-2.3.21-r1a4-x86-gcc4-2012-09-02.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(baseURL)/lib/libart_lgpl-2.3.21-r1a4-x86-gcc2-2012-08-29.zip - : : true ; + : : cdPackage ; } } @@ -116,11 +116,11 @@ if [ IsOptionalHaikuImagePackageAdded libmad ] { } else if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/lib/libmad-0.15.1b-r1a4-x86-gcc4-2012-09-02.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(baseURL)/lib/libmad-0.15.1b-r1a4-x86-gcc2-2012-08-29.zip - : : true ; + : : cdPackage ; } } @@ -132,11 +132,11 @@ if [ IsOptionalHaikuImagePackageAdded libmikmod ] { } else if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/lib/libmikmod-3.1.11-r1a4-x86-gcc4-2012-09-02.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(baseURL)/lib/libmikmod-3.1.11-r1a4-x86-gcc2-2012-08-29.zip - : : true ; + : : cdPackage ; } } @@ -148,11 +148,11 @@ if [ IsOptionalHaikuImagePackageAdded libmodplug ] { } else if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/lib/libmodplug-0.8.8.4-r1a4-x86-gcc4-2012-09-02.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(baseURL)/lib/libmodplug-0.8.8.4-r1a4-x86-gcc2-2012-08-29.zip - : : true ; + : : cdPackage ; } } @@ -164,11 +164,11 @@ if [ IsOptionalHaikuImagePackageAdded libpaper ] { } else if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/lib/libpaper-1.1.24-r1a4-x86-gcc4-2012-09-01.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(baseURL)/lib/libpaper-1.1.24-r1a4-x86-gcc4-2012-09-01.zip - : : true ; + : : cdPackage ; } } @@ -180,11 +180,11 @@ if [ IsOptionalHaikuImagePackageAdded physfs ] { } else if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/lib/physfs-2.0.1-r1a4-x86-gcc4-2012-09-09.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(baseURL)/lib/physfs-2.0.1-r1a4-x86-gcc2-2012-08-29.zip - : : true ; + : : cdPackage ; } } diff --git a/build/jam/OptionalPackages b/build/jam/OptionalPackages index a261f1035e..6059e7f8fb 100644 --- a/build/jam/OptionalPackages +++ b/build/jam/OptionalPackages @@ -132,7 +132,7 @@ if [ IsOptionalHaikuImagePackageAdded APR ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/apr-1.4.6-r1a4-x86-gcc4-2012-08-30.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(hpkgBaseURL)/apr-1.4.6-6-x86_gcc2.hpkg ; @@ -140,7 +140,7 @@ if [ IsOptionalHaikuImagePackageAdded APR ] { } else if $(TARGET_ARCH) = x86_64 { InstallOptionalHaikuImagePackage $(baseURL)/apr-1.4.6-x86_64-2012-12-08.zip - : : true ; + : : cdPackage ; } else { Echo "No optional package APR available for $(TARGET_ARCH)" ; } @@ -153,7 +153,7 @@ if [ IsOptionalHaikuImagePackageAdded APR-util ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/apr-util-1.4.1-r1a4-x86-gcc4-2012-08-30.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(hpkgBaseURL)/apr_util-1.4.1-2-x86_gcc2.hpkg ; @@ -161,7 +161,7 @@ if [ IsOptionalHaikuImagePackageAdded APR-util ] { } else if $(TARGET_ARCH) = x86_64 { InstallOptionalHaikuImagePackage $(baseURL)/apr-util-1.4.1-x86_64-2012-12-08.zip - : : true ; + : : cdPackage ; } else { Echo "No optional package APR-util available for $(TARGET_ARCH)" ; } @@ -362,7 +362,7 @@ if [ IsOptionalHaikuImagePackageAdded Bzip ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/bzip2-1.0.6-r1a4-x86-gcc4-2012-08-30.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(hpkgBaseURL)/bzip2-1.0.6-2-x86_gcc2.hpkg ; @@ -370,7 +370,7 @@ if [ IsOptionalHaikuImagePackageAdded Bzip ] { } else if $(TARGET_ARCH) = x86_64 { InstallOptionalHaikuImagePackage $(baseURL)/bzip2-1.0.6-x86_64-2012-08-16.zip - : : true ; + : : cdPackage ; } else { Echo "No optional package Bzip available for $(TARGET_ARCH)" ; } @@ -398,10 +398,10 @@ if [ IsOptionalHaikuImagePackageAdded Caya ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/caya-279-r1a4-x86-gcc4-2012-10-02.zip - : : true ; + : : cdPackage ; InstallOptionalHaikuImagePackage $(baseURL)/caya-gpl-protocols-36-r1a4-x86-gcc4-2012-10-01.zip - : : true ; + : : cdPackage ; AddSymlinkToHaikuImage home config be Applications : /boot/apps/Caya/Caya ; } else { @@ -488,7 +488,7 @@ if [ IsOptionalHaikuImagePackageAdded CLucene ] { } else { InstallOptionalHaikuImagePackage $(baseURL)/clucene-0.9.21-x86-gcc4-haiku-2009-08-11.zip - : : true ; + : : cdPackage ; } } @@ -501,7 +501,7 @@ if [ IsOptionalHaikuImagePackageAdded CMake ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/cmake-2.8.5-r1a4-x86-gcc4-2012-08-28.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(hpkgBaseURL)/cmake-2.8.5-3-x86_gcc2.hpkg ; @@ -534,7 +534,7 @@ if [ IsOptionalHaikuImagePackageAdded Ctags ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/ctags-5.8-r1a4-x86-gcc4-2012-08-30.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(hpkgBaseURL)/ctags-5.8-2-x86_gcc2.hpkg ; @@ -542,7 +542,7 @@ if [ IsOptionalHaikuImagePackageAdded Ctags ] { } else if $(TARGET_ARCH) = x86_64 { InstallOptionalHaikuImagePackage $(baseURL)/ctags-5.8-x86_64-2012-12-08.zip - : : true ; + : : cdPackage ; } else { Echo "No optional package Ctags available for $(TARGET_ARCH)" ; } @@ -574,7 +574,7 @@ if [ IsOptionalHaikuImagePackageAdded CVS ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/cvs-1.12.13.1-r1a4-x86-gcc4-2012-08-30.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(hpkgBaseURL)/cvs-1.12.13.1-4-x86_gcc2.hpkg ; @@ -582,7 +582,7 @@ if [ IsOptionalHaikuImagePackageAdded CVS ] { } else if $(TARGET_ARCH) = x86_64 { InstallOptionalHaikuImagePackage $(baseURL)/cvs-1.12.13.1-x86_64-2012-12-18.zip - : : true ; + : : cdPackage ; } else { Echo "No optional package CVS available for $(TARGET_ARCH)" ; } @@ -626,16 +626,16 @@ if [ IsOptionalHaikuImagePackageAdded Development ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/autoconf-2.69-x86-gcc4-2013-02-16.zip - : : true ; + : : cdPackage ; InstallOptionalHaikuImagePackage $(baseURL)/automake-1.13.1-x86-gcc4-2013-02-16.zip - : : true ; + : : cdPackage ; InstallOptionalHaikuImagePackage $(baseURL)/libtool-2.4-r1a4-x86-gcc4-2012-08-28.zip - : : true ; + : : cdPackage ; InstallOptionalHaikuImagePackage $(baseURL)/texinfo-4.13a-r1a4-x86-gcc4-2012-08-30.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(hpkgBaseURL)/autoconf-2.69-3-x86_gcc2.hpkg ; @@ -651,16 +651,16 @@ if [ IsOptionalHaikuImagePackageAdded Development ] { : /boot/system/apps/Debugger : Debugger ; InstallOptionalHaikuImagePackage $(baseURL)/autoconf-2.69-x86_64-2013-02-16.zip - : : true ; + : : cdPackage ; InstallOptionalHaikuImagePackage $(baseURL)/automake-1.13.1-x86_64-2013-02-16.zip - : : true ; + : : cdPackage ; InstallOptionalHaikuImagePackage $(baseURL)/libtool-2.4.2-x86_64-2012-08-17.zip - : : true ; + : : cdPackage ; InstallOptionalHaikuImagePackage $(baseURL)/texinfo-4.13a-x86_64-2012-08-17.zip - : : true ; + : : cdPackage ; } } @@ -799,7 +799,7 @@ if [ IsOptionalHaikuImagePackageAdded Doxygen ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/doxygen-1.6.3-r1a4-x86-gcc4-2012-09-04.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(hpkgBaseURL)/doxygen-1.6.3-2-x86_gcc2.hpkg ; @@ -821,7 +821,7 @@ if [ IsOptionalHaikuImagePackageAdded Expat ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/expat-2.0.1-r1a4-x86-gcc4-2012-08-30.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(hpkgBaseURL)/expat-2.0.1-5-x86_gcc2.hpkg ; @@ -829,7 +829,7 @@ if [ IsOptionalHaikuImagePackageAdded Expat ] { } else if $(TARGET_ARCH) = x86_64 { InstallOptionalHaikuImagePackage $(baseURL)/expat-2.0.1-x86_64-2012-12-08.zip - : : true ; + : : cdPackage ; } else { Echo "No optional package Expat available for $(TARGET_ARCH)" ; } @@ -879,7 +879,7 @@ if [ IsOptionalHaikuImagePackageAdded GetText ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/gettext-0.18.1.1-r1a4-x86-gcc4-2012-08-30.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(hpkgBaseURL)/gettext-0.18.1.1-3-x86_gcc2.hpkg ; @@ -887,7 +887,7 @@ if [ IsOptionalHaikuImagePackageAdded GetText ] { } else if $(TARGET_ARCH) = x86_64 { InstallOptionalHaikuImagePackage $(baseURL)/gettext-0.18.1.1-x86_64-2012-08-17.zip - : : true ; + : : cdPackage ; } else { Echo "No optional package GetText available for $(TARGET_ARCH)" ; } @@ -900,7 +900,7 @@ if [ IsOptionalHaikuImagePackageAdded Git ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/git-1.7.10.2-r1a4-x86-gcc4-2012-08-30.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(hpkgBaseURL)/git-1.7.5-1-x86_gcc2.hpkg ; @@ -908,7 +908,7 @@ if [ IsOptionalHaikuImagePackageAdded Git ] { } else if $(TARGET_ARCH) = x86_64 { InstallOptionalHaikuImagePackage $(baseURL)/git-1.8.0-x86_64-2012-12-29.zip - : : true ; + : : cdPackage ; } else { Echo "No optional package Git available for $(TARGET_ARCH)" ; } @@ -921,16 +921,16 @@ if [ IsOptionalHaikuImagePackageAdded GitDoc ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/gitdoc-1.7.10.2-r1a4-x86-gcc4-2012-09-03.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(baseURL)/gitdoc-1.7.10.2-r1a4-x86-gcc2-2012-08-28.zip - : : true ; + : : cdPackage ; } } else if $(TARGET_ARCH) = x86_64 { InstallOptionalHaikuImagePackage $(baseURL)/gitdoc-1.8.0-x86_64-2012-12-18.zip - : : true ; + : : cdPackage ; } else { Echo "No optional package GitDoc available for $(TARGET_ARCH)" ; } @@ -943,16 +943,16 @@ if [ IsOptionalHaikuImagePackageAdded GPerf ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/gperf-3.0.4-r1a4-x86-gcc4-2012-08-30.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(baseURL)/gperf-3.0.4-r1a4-x86-gcc2-2012-08-28.zip - : : true ; + : : cdPackage ; } } else if $(TARGET_ARCH) = x86_64 { InstallOptionalHaikuImagePackage $(baseURL)/gperf-3.0.4-x86_64-2012-12-08.zip - : : true ; + : : cdPackage ; } else { Echo "No optional package GPerf available for $(TARGET_ARCH)" ; } @@ -965,7 +965,7 @@ if [ IsOptionalHaikuImagePackageAdded Groff ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/groff-1.20.1-r1a4-x86-gcc4-2012-08-30.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(hpkgBaseURL)/groff-1.20.1-1-x86_gcc2.hpkg ; @@ -973,7 +973,7 @@ if [ IsOptionalHaikuImagePackageAdded Groff ] { } else if $(TARGET_ARCH) = x86_64 { InstallOptionalHaikuImagePackage $(baseURL)/groff-1.20.1-x86_64-2012-12-08.zip - : : true ; + : : cdPackage ; } else { Echo "No optional package Groff available for $(TARGET_ARCH)" ; } @@ -992,7 +992,7 @@ if [ IsOptionalHaikuImagePackageAdded Grep ] { } else if $(TARGET_ARCH) = x86_64 { InstallOptionalHaikuImagePackage $(baseURL)/grep-2.14-x86_64-2012-12-28.zip - : : true ; + : : cdPackage ; } else { Echo "No optional package Grep available for $(TARGET_ARCH)" ; } @@ -1051,7 +1051,7 @@ if [ IsOptionalHaikuImagePackageAdded KeymapSwitcher ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/KeymapSwitcher-1.2.7-x86-gcc4-2013-01-08.zip - : : : false ; + : : !stripDebugSymbols ; } else { InstallOptionalHaikuImagePackage $(hpkgBaseURL)/keymapswitcher-1.2.7.9-2-x86_gcc2.hpkg ; @@ -1061,7 +1061,7 @@ if [ IsOptionalHaikuImagePackageAdded KeymapSwitcher ] { } else if $(TARGET_ARCH) = x86_64 { InstallOptionalHaikuImagePackage $(baseURL)/KeymapSwitcher-1.2.7-x86_64-2013-01-08.zip - : : true ; + : : cdPackage ; AddSymlinkToHaikuImage home config settings deskbar Preferences : /boot/common/bin/KeymapSwitcher ; } else { @@ -1102,16 +1102,16 @@ if [ IsOptionalHaikuImagePackageAdded LibEvent ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/libevent-2.0.10-r1a4-x86-gcc4-2012-08-30.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(baseURL)/libevent-2.0.10-r1a4-x86-gcc2-2012-08-28.zip - : : true ; + : : cdPackage ; } } else if $(TARGET_ARCH) = x86_64 { InstallOptionalHaikuImagePackage $(baseURL)/libevent-2.0.10-x86_64-2012-12-08.zip - : : true ; + : : cdPackage ; } else { Echo "No optional package LibEvent available for $(TARGET_ARCH)" ; } @@ -1206,7 +1206,7 @@ if [ IsOptionalHaikuImagePackageAdded LibXSLT ] { } else { InstallOptionalHaikuImagePackage $(baseURL)/libxslt-1.1.26-r1a4-x86-gcc2-2012-08-28.zip - : : true ; + : : cdPackage ; } } @@ -1237,11 +1237,11 @@ if [ IsOptionalHaikuImagePackageAdded Lua ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/lua-5.1.4-3-r1a4-x86-gcc4-2012-09-01.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(baseURL)/lua-5.1.4-3-r1a4-x86-gcc2-2012-09-01.zip - : : true ; + : : cdPackage ; } } } @@ -1273,7 +1273,7 @@ if [ IsOptionalHaikuImagePackageAdded Mercurial ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/mercurial-2.2.2-r1a4-x86-gcc4-2012-08-30.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(hpkgBaseURL)/mercurial-2.2.2-2-x86_gcc2.hpkg ; @@ -1281,7 +1281,7 @@ if [ IsOptionalHaikuImagePackageAdded Mercurial ] { } else if $(TARGET_ARCH) = x86_64 { InstallOptionalHaikuImagePackage $(baseURL)/mercurial-2.4-x86_64-2012-12-18.zip - : : true ; + : : cdPackage ; } else { Echo "No optional package Mercurial available for $(TARGET_ARCH)" ; } @@ -1552,7 +1552,7 @@ if [ IsOptionalHaikuImagePackageAdded Perl ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/perl-5.10.1-r1a4-x86-gcc4-2012-10-17.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(hpkgBaseURL)/perl-5.10.1-4-x86_gcc2.hpkg ; @@ -1560,7 +1560,7 @@ if [ IsOptionalHaikuImagePackageAdded Perl ] { } else if $(TARGET_ARCH) = x86_64 { InstallOptionalHaikuImagePackage $(baseURL)/perl-5.10.1-x86_64-2012-08-17.zip - : : true ; + : : cdPackage ; } else { Echo "No optional package Perl available for $(TARGET_ARCH)" ; } @@ -1588,7 +1588,7 @@ if [ IsOptionalHaikuImagePackageAdded Python ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/python-2.6.8-r1a4-x86-gcc4-2012-09-03.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(hpkgBaseURL)/python-2.6.8-3-x86_gcc2.hpkg ; @@ -1596,7 +1596,7 @@ if [ IsOptionalHaikuImagePackageAdded Python ] { } else if $(TARGET_ARCH) = x86_64 { InstallOptionalHaikuImagePackage $(baseURL)/python-2.6.8-x86_64-2012-11-28.zip - : : true ; + : : cdPackage ; } else { Echo "No optional package Python available for $(TARGET_ARCH)" ; } @@ -1626,11 +1626,11 @@ if [ IsOptionalHaikuImagePackageAdded Rsync ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/rsync-3.0.7-r1a4-x86-gcc4-2012-09-09.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(baseURL)/rsync-3.0.7-r1a4-x86-gcc2-2012-09-12.zip - : : true ; + : : cdPackage ; } } } @@ -1694,7 +1694,7 @@ if [ IsOptionalHaikuImagePackageAdded Subversion ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/subversion-1.6.18-r1a4-x86-gcc4-2012-08-30.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(hpkgBaseURL)/subversion-1.6.18-4-x86_gcc2.hpkg ; @@ -1702,7 +1702,7 @@ if [ IsOptionalHaikuImagePackageAdded Subversion ] { } else if $(TARGET_ARCH) = x86_64 { InstallOptionalHaikuImagePackage $(baseURL)/subversion-1.6.18-x86_64-2012-12-18.zip - : : true ; + : : cdPackage ; } else { Echo "No optional package Subversion available for $(TARGET_ARCH)" ; } @@ -1766,11 +1766,11 @@ if [ IsOptionalHaikuImagePackageAdded Transmission ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/transmission-2.21-r1a4-x86-gcc4-2012-09-12.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(baseURL)/transmission-2.21-r1a4-x86-gcc2-2012-09-05.zip - : : true ; + : : cdPackage ; } } } @@ -1782,16 +1782,16 @@ if [ IsOptionalHaikuImagePackageAdded UnRAR ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/UnRAR-4.2.4-x86-gcc4-2013-01-21.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(baseURL)/UnRAR-4.2.4-x86-gcc2-2013-01-21.zip - : : true ; + : : cdPackage ; } } else if $(TARGET_ARCH) = x86_64 { InstallOptionalHaikuImagePackage $(baseURL)/UnRAR-4.2.4-x86_64-2013-01-21.zip - : : true ; + : : cdPackage ; } else { Echo "No optional package UnRAR available for $(TARGET_ARCH)" ; } @@ -1856,18 +1856,18 @@ if [ IsOptionalHaikuImagePackageAdded Vim ] { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/vim-7.3-r1a4-x86-gcc4-2012-09-26.zip - : : true ; + : : cdPackage ; } else { InstallOptionalHaikuImagePackage $(baseURL)/vim-7.3-r1a4-x86-gcc2-2012-09-26.zip - : : true ; + : : cdPackage ; } AddSymlinkToHaikuImage home config settings deskbar Applications : /boot/common/bin/gvim ; } else if $(TARGET_ARCH) = x86_64 { InstallOptionalHaikuImagePackage $(baseURL)/vim-7.3-x86_64-2013-01-19.zip - : : true ; + : : cdPackage ; AddSymlinkToHaikuImage home config settings deskbar Applications : /boot/common/bin/gvim ; } else { @@ -2016,7 +2016,7 @@ if [ IsOptionalHaikuImagePackageAdded wpa_supplicant ] { } else if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage $(baseURL)/wpa_supplicant-2.0-x86-gcc4-2013-03-31.zip - : : : false ; + : : !stripDebugSymbols ; } else { InstallOptionalHaikuImagePackage $(hpkgBaseURL)/wpa_supplicant-0.7.3-2-x86_gcc2.hpkg diff --git a/build/jam/PackageRules b/build/jam/PackageRules index 00af4501b2..a35b578eaf 100644 --- a/build/jam/PackageRules +++ b/build/jam/PackageRules @@ -376,18 +376,18 @@ rule AddSymlinkToPackage directoryTokens : linkTarget : linkName rule CopyDirectoryToPackage directoryTokens : sourceDirectory - : targetDirectoryName : excludePatterns : alwaysUpdate + : targetDirectoryName : excludePatterns : flags { CopyDirectoryToContainer $(HAIKU_CURRENTLY_BUILT_HAIKU_PACKAGE) : $(directoryTokens) : $(sourceDirectory) : $(targetDirectoryName) - : $(excludePatterns) : $(alwaysUpdate) ; + : $(excludePatterns) : $(flags) ; } -rule AddHeaderDirectoryToPackage dirTokens : dirName : alwaysUpdate +rule AddHeaderDirectoryToPackage dirTokens : dirName : flags { AddHeaderDirectoryToContainer $(HAIKU_CURRENTLY_BUILT_HAIKU_PACKAGE) - : $(dirTokens) : $(dirName) : $(alwaysUpdate) ; + : $(dirTokens) : $(dirName) : $(flags) ; } @@ -399,11 +399,10 @@ rule AddWifiFirmwareToPackage driver : subDirToExtract : archive } -rule ExtractArchiveToPackage dirTokens : archiveFile : alwaysUpdate - : extractedSubDir +rule ExtractArchiveToPackage dirTokens : archiveFile : flags : extractedSubDir { ExtractArchiveToContainer $(HAIKU_CURRENTLY_BUILT_HAIKU_PACKAGE) - : $(dirTokens) : $(archiveFile) : $(alwaysUpdate) : $(extractedSubDir) ; + : $(dirTokens) : $(archiveFile) : $(flags) : $(extractedSubDir) ; } diff --git a/build/jam/UserBuildConfig.ReadMe b/build/jam/UserBuildConfig.ReadMe index be0ac6e714..53ff6775eb 100644 --- a/build/jam/UserBuildConfig.ReadMe +++ b/build/jam/UserBuildConfig.ReadMe @@ -109,7 +109,7 @@ AddFilesToHaikuImage home config settings : US-International : Key_map ; # Note that the second directory will also be copied, if the image will only # be updated; the first one won't in that case. AddSourceDirectoryToHaikuImage src/kits/storage ; -AddSourceDirectoryToHaikuImage src/tests/servers/debug : 1 ; +AddSourceDirectoryToHaikuImage src/tests/servers/debug : alwaysUpdate ; # Copy the jam sources (assuming they are located ../buildtools/jam relatively # to your Haiku sources) to the image as /boot/home/Desktop/jam-src, excluding