Author: mmadia Date: 2010-03-15 17:11:47 +0100 (Mon, 15 Mar 2010) New Revision: 35867 Changeset: http://dev.haiku-os.org/changeset/35867/haiku Modified: haiku/trunk/Jamfile haiku/trunk/build/jam/ImageRules haiku/trunk/build/jam/OptionalPackages Log: Allows AddOptionalHaikuImagePackages and OptionalPackageDependencies to work in arbitrary order. Follow-up to r35830. Modified: haiku/trunk/Jamfile =================================================================== --- haiku/trunk/Jamfile 2010-03-15 15:08:07 UTC (rev 35866) +++ haiku/trunk/Jamfile 2010-03-15 16:11:47 UTC (rev 35867) @@ -151,13 +151,16 @@ LocaleKitTests ; +# Pepare the optional build features before parsing the Jamfile tree. +include [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalBuildFeatures ] ; + # Add optional packages given via HAIKU_ADD_OPTIONAL_PACKAGES. if $(HAIKU_ADD_OPTIONAL_PACKAGES) { AddOptionalHaikuImagePackages [ FSplitString $(HAIKU_ADD_OPTIONAL_PACKAGES) : / ] ; } -#include packages that are required by all images. +# Include packages that are required by all images. AddOptionalHaikuImagePackages MandatoryPackages ; # If enabled, make sure that OpenSSL is added to the image. @@ -165,10 +168,8 @@ AddOptionalHaikuImagePackages OpenSSL ; } -# Evaluate optional package dependencies and prepare the optional build -# features before parsing the Jamfile tree. -include [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalPackageDependencies ] ; -include [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalBuildFeatures ] ; +# Evaluate optional package dependencies +include [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalPackageDependencies ] ; # Optionally we allow not to include the "src" subdirectory. if $(HAIKU_DONT_INCLUDE_SRC) { Modified: haiku/trunk/build/jam/ImageRules =================================================================== --- haiku/trunk/build/jam/ImageRules 2010-03-15 15:08:07 UTC (rev 35866) +++ haiku/trunk/build/jam/ImageRules 2010-03-15 16:11:47 UTC (rev 35867) @@ -761,6 +761,9 @@ HAIKU_OPTIONAL_PACKAGE_ADDED on $(package) = 1 ; HAIKU_ADDED_OPTIONAL_PACKAGES += $(package) ; } + local dependencies = [ on $(package) + return $(HAIKU_OPTIONAL_PACKAGE_DEPENDENCIES) ] ; + AddOptionalHaikuImagePackages $(dependencies) ; } } @@ -780,7 +783,8 @@ rule OptionalPackageDependencies package : dependencies { - if [ IsOptionalHaikuImagePackageAdded $(package) ] { + HAIKU_OPTIONAL_PACKAGE_DEPENDENCIES on $(package) = $(dependencies) ; + if [ on $(package) return $(HAIKU_OPTIONAL_PACKAGE_ADDED) ] { AddOptionalHaikuImagePackages $(dependencies) ; } } Modified: haiku/trunk/build/jam/OptionalPackages =================================================================== --- haiku/trunk/build/jam/OptionalPackages 2010-03-15 15:08:07 UTC (rev 35866) +++ haiku/trunk/build/jam/OptionalPackages 2010-03-15 16:11:47 UTC (rev 35867) @@ -671,6 +671,12 @@ } +# MandatoryPackages +if [ IsOptionalHaikuImagePackageAdded MandatoryPackages ] { + # Psuedo package for grouping packages, which are added to all images. +} + + # Mercurial if [ IsOptionalHaikuImagePackageAdded Mercurial ] { if $(TARGET_ARCH) != x86 {