Author: andreasf Date: 2010-08-14 18:43:55 +0200 (Sat, 14 Aug 2010) New Revision: 38100 Changeset: http://dev.haiku-os.org/changeset/38100 Ticket: http://dev.haiku-os.org/ticket/6260 Modified: haiku/trunk/build/jam/ImageRules haiku/trunk/build/jam/UserBuildConfig.ReadMe Log: Allow to suppress individual Optional Packages Add Jam rule SuppressOptionalHaikuImagePackages as a mechanism to keep packages from being installed. Extend the UserBuildConfig.ReadMe document to cover the new command. Closes ticket #6260. Changes from v1: * Simplified IsOptionalHaikuImagePackageAdded as suggested by Ingo. * Added example as documentation. Modified: haiku/trunk/build/jam/ImageRules =================================================================== --- haiku/trunk/build/jam/ImageRules 2010-08-14 16:24:48 UTC (rev 38099) +++ haiku/trunk/build/jam/ImageRules 2010-08-14 16:43:55 UTC (rev 38100) @@ -785,6 +785,16 @@ } } +rule SuppressOptionalHaikuImagePackages packages +{ + local package ; + for package in $(packages) { + if ! [ on $(package) return $(HAIKU_OPTIONAL_PACKAGE_SUPPRESSED) ] { + HAIKU_OPTIONAL_PACKAGE_SUPPRESSED on $(package) = 1 ; + } + } +} + rule IsOptionalHaikuImagePackageAdded package { if ! [ on $(package) return $(HAIKU_OPTIONAL_PACKAGE_EXISTS) ] { @@ -792,7 +802,8 @@ HAIKU_EXISTING_OPTIONAL_PACKAGES += $(package) ; } - if [ on $(package) return $(HAIKU_OPTIONAL_PACKAGE_ADDED) ] { + if [ on $(package) return $(HAIKU_OPTIONAL_PACKAGE_ADDED) ] && + ! [ on $(package) return $(HAIKU_OPTIONAL_PACKAGE_SUPPRESSED) ] { return 1 ; } Modified: haiku/trunk/build/jam/UserBuildConfig.ReadMe =================================================================== --- haiku/trunk/build/jam/UserBuildConfig.ReadMe 2010-08-14 16:24:48 UTC (rev 38099) +++ haiku/trunk/build/jam/UserBuildConfig.ReadMe 2010-08-14 16:43:55 UTC (rev 38100) @@ -128,6 +128,12 @@ # via wget (i.e. wget must be installed). AddOptionalHaikuImagePackages WonderBrush ; +# Add the optional package WebPositive to the image but don't add its +# dependent SQLite optional package to the image. WebPositive still needs +# SQLite to run, this allows you to test a different version of it though. +AddOptionalHaikuImagePackages WebPositive ; +SuppressOptionalHaikuImagePackages SQLite ; + # Don't add the libraries built with the alternative gcc version. # If the alternative gcc generated directory has been specified via the # configure option --alternative-gcc-output-dir, the libraries for the