From db16bcba41baeb142cbe70703698d9cdfeb8654e Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Tue, 6 Aug 2013 00:47:51 +0200 Subject: [PATCH] Add package definition HaikuSecondaryBootstrap A haiku_.hpkg package is produced for each secondary architecture. --- build/jam/HaikuPackages | 20 +++++++++- build/jam/packages/HaikuSecondaryBootstrap | 24 ++++++++++++ .../package_infos/x86_gcc2/haiku_secondary | 38 +++++++++++++++++++ 3 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 build/jam/packages/HaikuSecondaryBootstrap create mode 100644 src/data/package_infos/x86_gcc2/haiku_secondary diff --git a/build/jam/HaikuPackages b/build/jam/HaikuPackages index 572138207d..6d8c0f9b60 100644 --- a/build/jam/HaikuPackages +++ b/build/jam/HaikuPackages @@ -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) ; + } + } +} diff --git a/build/jam/packages/HaikuSecondaryBootstrap b/build/jam/packages/HaikuSecondaryBootstrap new file mode 100644 index 0000000000..e911e1a2c6 --- /dev/null +++ b/build/jam/packages/HaikuSecondaryBootstrap @@ -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 ; diff --git a/src/data/package_infos/x86_gcc2/haiku_secondary b/src/data/package_infos/x86_gcc2/haiku_secondary new file mode 100644 index 0000000000..15740b42d3 --- /dev/null +++ b/src/data/package_infos/x86_gcc2/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) +}