Introduce stage0 into the bootstrap process.

* This stage builds the gcc packages to get the shared syslibs, which
  only requires the Haiku glue code.
* Add separate declaration section for stage0 packages to
  HaikuPortsCross repository files.
* For the bootstrap_stage0 platform, fall back to the gcc headers
  provided by the cross-compiler.
This commit is contained in:
Oliver Tappe
2014-08-13 13:34:26 +02:00
parent 2e477cf688
commit e29a6c4cd4
9 changed files with 112 additions and 46 deletions
+15 -4
View File
@@ -421,10 +421,11 @@ EOF
rule BootstrapPackageRepository repository : architecture
: anyPackages : packagesStage1 : packagesStage2 : sourcePackages
: debugInfoPackages
: anyPackages : packagesStage0 : packagesStage1 : packagesStage2
: sourcePackages : debugInfoPackages
{
repository = $(repository:G=repository) ;
packagesStage0 = [ FFilterByBuildFeatures $(packagesStage0) ] ;
packagesStage1 = [ FFilterByBuildFeatures $(packagesStage1) ] ;
packagesStage2 = [ FFilterByBuildFeatures $(packagesStage2) ] ;
sourcePackages = [ FFilterByBuildFeatures $(sourcePackages) ] ;
@@ -435,6 +436,18 @@ rule BootstrapPackageRepository repository : architecture
SetRepositoryMethod $(repository) : FetchPackage
: BootstrapRepositoryFetchPackage ;
# register repository with stage 0 packages
local stage0PackageTargets = [ PackageRepository $(repository)
: $(architecture) : $(anyPackages) : $(packagesStage0)
: $(sourcePackages) : $(debugInfoPackages) ] ;
if ! $(stage0PackageTargets) {
return ;
}
local crossDevelPackageSuffixes = $(architecture)
$(architecture)_$(HAIKU_PACKAGING_ARCHS[2-]) ;
HAIKU_REPOSITORY_HAIKU_CROSS_DEVEL_PACKAGES on $(stage0PackageTargets)
= haiku_cross_devel_sysroot_stage0_$(crossDevelPackageSuffixes).hpkg ;
# register repository with stage 1 packages
local stage1PackageTargets = [ PackageRepository $(repository)
: $(architecture) : $(anyPackages) : $(packagesStage1)
@@ -442,8 +455,6 @@ rule BootstrapPackageRepository repository : architecture
if ! $(stage1PackageTargets) {
return ;
}
local crossDevelPackageSuffixes = $(architecture)
$(architecture)_$(HAIKU_PACKAGING_ARCHS[2-]) ;
HAIKU_REPOSITORY_HAIKU_CROSS_DEVEL_PACKAGES on $(stage1PackageTargets)
= haiku_cross_devel_sysroot_stage1_$(crossDevelPackageSuffixes).hpkg ;