Add package definition HaikuSecondaryBootstrap

A haiku_<arch>.hpkg package is produced for each secondary architecture.
This commit is contained in:
Ingo Weinhold
2013-08-06 00:47:51 +02:00
parent 225b638263
commit db16bcba41
3 changed files with 81 additions and 1 deletions
+19 -1
View File
@@ -18,10 +18,18 @@ local archDependentPackages =
HaikuCrossDevel
;
local secondaryArchPackages ;
if $(HAIKU_BOOTSTRAP_BUILD) {
secondaryArchPackages += HaikuSecondaryBootstrap ;
} else {
secondaryArchPackages += HaikuSecondary ;
}
packages = $(packages:G=package-rules) ;
archDependentPackages = $(archDependentPackages:G=package-rules) ;
SEARCH on $(packages) $(archDependentPackages)
secondaryArchPackages = $(secondaryArchPackages:G=package-rules) ;
SEARCH on $(packages) $(archDependentPackages) $(secondaryArchPackages)
= [ FDirName $(HAIKU_BUILD_RULES_DIR) packages ] ;
local package ;
@@ -37,3 +45,13 @@ for package in $(archDependentPackages) {
}
}
}
for package in $(secondaryArchPackages) {
local architectureObject ;
for architectureObject in
[ MultiArchSubDirSetup $(TARGET_PACKAGING_ARCHS[2-]) ] {
on $(architectureObject) {
include $(package) ;
}
}
}
@@ -0,0 +1,24 @@
local architecture = $(TARGET_PACKAGING_ARCH) ;
local haikuPackage = haiku_$(architecture).hpkg ;
HaikuPackage $(haikuPackage) ;
# libs
AddLibrariesToPackage lib $(architecture)
: [ HaikuImageGetSystemLibs ] [ HaikuImageGetPrivateSystemLibs ] ;
# libnetwork.so replaces quite a few libraries
if $(HAIKU_GCC_VERSION_$(architecture)[1]) = 2 {
local libNetworkAliases = libsocket.so libbind.so libnet.so ;
local lib ;
for lib in $(libNetworkAliases) {
AddSymlinkToPackage lib $(architecture) : libnetwork.so : $(lib) ;
}
AddSymlinkToPackage lib $(architecture) : libbnetapi.so : libnetapi.so ;
}
BuildHaikuPackage $(haikuPackage) : haiku_secondary ;
@@ -0,0 +1,38 @@
#define DO_CONCAT(a, b) a ## b
#define CONCAT(a, b) DO_CONCAT(a, b)
#define DO_TO_STRING(x) #x
#define TO_STRING(x) DO_TO_STRING(x)
name CONCAT(haiku_, HAIKU_SECONDARY_PACKAGING_ARCH)
version R1~alpha4_pm-1
architecture x86_gcc2
summary "The Haiku base system "TO_STRING(HAIKU_SECONDARY_PACKAGING_ARCH)" secondary architecture support"
description "The Haiku base system "TO_STRING(HAIKU_SECONDARY_PACKAGING_ARCH)"
secondary architecture support includes all system libraries, add-ons, and
other files required to run programs build for architecture
"TO_STRING(HAIKU_SECONDARY_PACKAGING_ARCH)"."
packager "The Haiku build system"
vendor "Haiku Project"
copyrights "2001-2013 Haiku, Inc. et al"
licenses {
MIT
"GNU LGPL v2.1"
}
provides {
CONCAT(haiku_, HAIKU_SECONDARY_PACKAGING_ARCH) = R1~alpha4_pm-1 compat>=R1~alpha1
}
requires {
CONCAT(lib:libfreetype_, HAIKU_SECONDARY_PACKAGING_ARCH)
#ifndef HAIKU_BOOTSTRAP_BUILD
CONCAT(lib:libjpeg_, HAIKU_SECONDARY_PACKAGING_ARCH)
CONCAT(lib:libpng_, HAIKU_SECONDARY_PACKAGING_ARCH)
#endif
CONCAT(lib:libsolv_, HAIKU_SECONDARY_PACKAGING_ARCH)
CONCAT(lib:libsolvext_, HAIKU_SECONDARY_PACKAGING_ARCH)
CONCAT(lib:libz_, HAIKU_SECONDARY_PACKAGING_ARCH)
}