From 384230184efa82a55ab235fc738226775793195c Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Tue, 6 Aug 2013 04:11:44 +0200 Subject: [PATCH] Filter package infos through sed %HAIKU_PACKAGING_ARCH% and %HAIKU_SECONDARY_PACKAGING_ARCH% in the package infos are replaced before filtering them through the C preprocessor. --- build/jam/PackageRules | 6 ++++- .../package_infos/generic/haiku_cross_devel | 5 +--- .../generic/haiku_cross_devel_sysroot | 5 +--- src/data/package_infos/generic/haiku_devel | 2 +- .../generic/haiku_devel_secondary | 15 ++++------- src/data/package_infos/generic/haiku_loader | 2 +- .../package_infos/x86_gcc2/haiku_secondary | 25 ++++++++----------- 7 files changed, 24 insertions(+), 36 deletions(-) diff --git a/build/jam/PackageRules b/build/jam/PackageRules index 83722fa37b..d8cc8159ef 100644 --- a/build/jam/PackageRules +++ b/build/jam/PackageRules @@ -41,18 +41,22 @@ rule PreprocessPackageInfo source : directory : architecture local target = $(source:BSG=package-info)-package-info ; local defines = HAIKU_PACKAGING_ARCH=$(architecture) ; + local sedReplacements = %HAIKU_PACKAGING_ARCH%,$(architecture) ; if $(HAIKU_BOOTSTRAP_BUILD) { defines += HAIKU_BOOTSTRAP_BUILD ; target = $(target)-bootstrap ; } if $(secondaryArchitecture) { defines += HAIKU_SECONDARY_PACKAGING_ARCH=$(secondaryArchitecture) ; + sedReplacements + += %HAIKU_SECONDARY_PACKAGING_ARCH%,$(secondaryArchitecture) ; } MakeLocate $(target) : $(directory) ; Depends $(target) : $(source) ; CCDEFS on $(target) = [ FDefines $(defines) ] ; + HAIKU_SED_REPLACEMENTS on $(target) = "-e s,$(sedReplacements),g" ; PreprocessPackageInfo1 $(target) : $(source) ; @@ -62,7 +66,7 @@ rule PreprocessPackageInfo source : directory : architecture actions PreprocessPackageInfo1 { - $(HOST_CC) -E -w $(CCDEFS) - -o $(1) < $(2) + sed $(HAIKU_SED_REPLACEMENTS) < $(2) | $(HOST_CC) -E -w $(CCDEFS) - -o $(1) } diff --git a/src/data/package_infos/generic/haiku_cross_devel b/src/data/package_infos/generic/haiku_cross_devel index 5873b1fba2..bd3aa1a3da 100644 --- a/src/data/package_infos/generic/haiku_cross_devel +++ b/src/data/package_infos/generic/haiku_cross_devel @@ -1,6 +1,3 @@ -#define DO_CONCAT(a, b) a ## b -#define CONCAT(a, b) DO_CONCAT(a, b) - name haiku_cross_devel version R1~alpha4_pm-1 architecture any @@ -17,5 +14,5 @@ copyrights "2001-2013 Haiku, Inc. et al" licenses "MIT" provides { - CONCAT(haiku_cross_devel_, HAIKU_PACKAGING_ARCH) = R1~alpha4_pm-1 + haiku_cross_devel_%HAIKU_PACKAGING_ARCH% = R1~alpha4_pm-1 } diff --git a/src/data/package_infos/generic/haiku_cross_devel_sysroot b/src/data/package_infos/generic/haiku_cross_devel_sysroot index 9745abe144..3d9cf6c78c 100644 --- a/src/data/package_infos/generic/haiku_cross_devel_sysroot +++ b/src/data/package_infos/generic/haiku_cross_devel_sysroot @@ -1,6 +1,3 @@ -#define DO_CONCAT(a, b) a ## b -#define CONCAT(a, b) DO_CONCAT(a, b) - name haiku_cross_devel_sysroot version R1~alpha4_pm-1 architecture any @@ -17,5 +14,5 @@ copyrights "2001-2013 Haiku, Inc. et al" licenses "MIT" provides { - CONCAT(haiku_cross_devel_sysroot_, HAIKU_PACKAGING_ARCH) = R1~alpha4_pm-1 + haiku_cross_devel_sysroot_%HAIKU_PACKAGING_ARCH% = R1~alpha4_pm-1 } diff --git a/src/data/package_infos/generic/haiku_devel b/src/data/package_infos/generic/haiku_devel index 67705b9ccf..7f3057b1e2 100644 --- a/src/data/package_infos/generic/haiku_devel +++ b/src/data/package_infos/generic/haiku_devel @@ -1,6 +1,6 @@ name haiku_devel version R1~alpha4_pm-1 -architecture HAIKU_PACKAGING_ARCH +architecture %HAIKU_PACKAGING_ARCH% summary "The Haiku base system development files" description "The package contains all files associated with the base system diff --git a/src/data/package_infos/generic/haiku_devel_secondary b/src/data/package_infos/generic/haiku_devel_secondary index 9dc06b19f0..c478343df5 100644 --- a/src/data/package_infos/generic/haiku_devel_secondary +++ b/src/data/package_infos/generic/haiku_devel_secondary @@ -1,15 +1,10 @@ -#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(CONCAT(haiku_, HAIKU_SECONDARY_PACKAGING_ARCH), _devel) +name haiku_%HAIKU_SECONDARY_PACKAGING_ARCH%_devel version R1~alpha4_pm-1 architecture HAIKU_PACKAGING_ARCH -summary "The Haiku base system "TO_STRING(HAIKU_SECONDARY_PACKAGING_ARCH)" secondary architecture development files" +summary "The Haiku base system %HAIKU_SECONDARY_PACKAGING_ARCH% secondary architecture development files" description "The package contains all files associated with the base system -needed for development for the secondary architecture "TO_STRING(HAIKU_SECONDARY_PACKAGING_ARCH)", +needed for development for the secondary architecture %HAIKU_SECONDARY_PACKAGING_ARCH%, like static libraries, glue code, library symlinks, header files, etc." packager "The Haiku build system" @@ -19,9 +14,9 @@ copyrights "2001-2013 Haiku, Inc. et al" licenses "MIT" provides { - CONCAT(haiku_devel_, HAIKU_SECONDARY_PACKAGING_ARCH) = R1~alpha4_pm-1 + haiku_devel_%HAIKU_SECONDARY_PACKAGING_ARCH% = R1~alpha4_pm-1 } requires { - CONCAT(haiku_, HAIKU_SECONDARY_PACKAGING_ARCH) == R1~alpha4_pm-1 + haiku_%HAIKU_SECONDARY_PACKAGING_ARCH% == R1~alpha4_pm-1 } diff --git a/src/data/package_infos/generic/haiku_loader b/src/data/package_infos/generic/haiku_loader index a0600c25d9..b70f3eb7c8 100644 --- a/src/data/package_infos/generic/haiku_loader +++ b/src/data/package_infos/generic/haiku_loader @@ -1,6 +1,6 @@ name haiku_loader version R1~alpha4_pm-1 -architecture HAIKU_PACKAGING_ARCH +architecture %HAIKU_PACKAGING_ARCH% summary "The Haiku boot loader" description "The Haiku boot loader." diff --git a/src/data/package_infos/x86_gcc2/haiku_secondary b/src/data/package_infos/x86_gcc2/haiku_secondary index 69ce456cd9..a8f5d554c1 100644 --- a/src/data/package_infos/x86_gcc2/haiku_secondary +++ b/src/data/package_infos/x86_gcc2/haiku_secondary @@ -1,14 +1,9 @@ -#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) +name 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" +summary "The Haiku base system %HAIKU_SECONDARY_PACKAGING_ARCH% secondary architecture support" -description "The Haiku base system "TO_STRING(HAIKU_SECONDARY_PACKAGING_ARCH)" +description "The Haiku base system %HAIKU_SECONDARY_PACKAGING_ARCH% secondary architecture support includes all system libraries, add-ons, and other files required to run programs build for that architecture." @@ -22,16 +17,16 @@ licenses { } provides { - CONCAT(haiku_, HAIKU_SECONDARY_PACKAGING_ARCH) = R1~alpha4_pm-1 compat>=R1~alpha1 + haiku_%HAIKU_SECONDARY_PACKAGING_ARCH% = R1~alpha4_pm-1 compat>=R1~alpha1 } requires { - CONCAT(lib:libfreetype_, HAIKU_SECONDARY_PACKAGING_ARCH) + lib:libfreetype_%HAIKU_SECONDARY_PACKAGING_ARCH% #ifndef HAIKU_BOOTSTRAP_BUILD - CONCAT(lib:libjpeg_, HAIKU_SECONDARY_PACKAGING_ARCH) - CONCAT(lib:libpng_, HAIKU_SECONDARY_PACKAGING_ARCH) + lib:libjpeg_%HAIKU_SECONDARY_PACKAGING_ARCH% + 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) + lib:libsolv_%HAIKU_SECONDARY_PACKAGING_ARCH% + lib:libsolvext_%HAIKU_SECONDARY_PACKAGING_ARCH% + lib:libz_%HAIKU_SECONDARY_PACKAGING_ARCH% }