build features/bootstrap repo: support secondary arch

* Add rule FSplitPackageName. It splits a package name into port name
  and package suffix.
* FSetConditionsHold: Rename to FConditionsHold and replace the set
  parameter by a predicate rule parameter, thus adding more flexibility.
* FIsBuildFeatureEnabled: Use the faster check.
* Add rule FQualifiedBuildFeatureName. Given a build feature name, it
  prepends the current packaging architecture to yield a qualified
  feature name. Is used by the other build feature rules so that the
  same build feature can be configured differently for each arch.
* ExtractBuildFeatureArchives: The supplied list is now filtered via
  FFilterByBuildFeatures, allowing for build feature conditions in the
  list.
* Add rule InitArchitectureBuildFeatures. It is called early for each
  configured architecture, setting up some basic build features for it.
  "primary" is set for the primary architecture and a "secondary_<arch>"
  is set for each secondary architecture.
* BuildFeatures: Add secondary architecture support: Use the correct
  paths for libraries and headers (subdir for secondary architecture)
  and configure the icu and zlib sources only for the primary
  architecture.
* BootstrapPackageRepository: The package lists are now filtered via
  FFilterByBuildFeatures, allowing for build feature conditions in the
  lists.
* IsPackageAvailable, FetchPackage: Add secondary architecture support.
* HaikuPortsCross/x86_gcc2: Add icu and zlib x86 secondary packages.

The second stage Haiku cross devel package for the secondary
architecture can now be built.
This commit is contained in:
Ingo Weinhold
2013-08-05 07:09:45 +02:00
parent 7bd562abc9
commit 93cfb72270
6 changed files with 210 additions and 97 deletions
@@ -27,6 +27,13 @@ BootstrapPackageRepository HaikuPortsCross
texinfo_bootstrap-4.13a-1
zlib_bootstrap-1.2.8-2
zlib_bootstrap_devel-1.2.8-2
secondary_x86 @{
icu_bootstrap_x86-4.8.1.1-1
icu_bootstrap_x86_devel-4.8.1.1-1
zlib_bootstrap_x86-1.2.8-2
zlib_bootstrap_x86_devel-1.2.8-2
}@ # secondary_x86
:
# repository architecture packages (stage 2)
libsolv_bootstrap-0.3.0_haiku_2013_06_16-1