From 02783d54bdb13f44e6d9d03e9f9ee206e7521872 Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Tue, 4 Jun 2013 00:27:00 +0200 Subject: [PATCH] Add new package haiku_cross_devel_wrapper. * this package wraps the haiku_cross_devel package (i.e. it contains that package in /develop/cross) * the wrapper package is meant to be installed into the system hierarchy, from where haikuporter will fetch the contained package when needed --- build/jam/packages/HaikuCrossDevel | 29 +++++++++++++------ .../generic/haiku_cross_devel_wrapper | 22 ++++++++++++++ 2 files changed, 42 insertions(+), 9 deletions(-) create mode 100644 src/data/package_infos/generic/haiku_cross_devel_wrapper diff --git a/build/jam/packages/HaikuCrossDevel b/build/jam/packages/HaikuCrossDevel index 8473edd76e..3dfe391d71 100644 --- a/build/jam/packages/HaikuCrossDevel +++ b/build/jam/packages/HaikuCrossDevel @@ -4,16 +4,12 @@ # The main use of this package is to provide HaikuPorter with a development # environment for a cross-build Haiku platform. -local haikuCrossDevelPackage = haiku_cross_devel.hpkg ; +# first create the actual cross development package + +local haikuCrossDevelPackage = haiku_cross_devel_$(HAIKU_PACKAGING_ARCH).hpkg ; HaikuPackage $(haikuCrossDevelPackage) ; -local arch ; -if $(HAIKU_GCC_VERSION[1]) = 2 { - arch = x86_gcc2 ; -} else { - arch = $(TARGET_ARCH) ; -} -local developCrossLibDirTokens = develop cross lib $(arch) ; +local developCrossLibDirTokens = develop lib $(HAIKU_PACKAGING_ARCH) ; # glue code AddFilesToPackage $(developCrossLibDirTokens) : @@ -40,7 +36,7 @@ AddFilesToPackage $(developCrossLibDirTokens) : liblocalestub.a ; AddFilesToPackage $(developCrossLibDirTokens) : libposix_error_mapper.a ; # headers -local developCrossHeadersDirTokens = develop cross headers $(arch) ; +local developCrossHeadersDirTokens = develop headers $(HAIKU_PACKAGING_ARCH) ; local headerDir ; for headerDir in config glibc os posix { CopyDirectoryToPackage $(developCrossHeadersDirTokens) @@ -61,3 +57,18 @@ if $(HAIKU_GCC_VERSION[1]) = 2 { } BuildHaikuPackage $(haikuCrossDevelPackage) : haiku_cross_devel ; + +# Now create a wrapper package which just contains the actual cross development +# package. This wrapper package can safely be installed into the system +# hierarchy of the target system, from where haikuporter will fetch it when +# needed. + +local haikuCrossDevelWrapperPackage + = haiku_cross_devel_wrapper_$(HAIKU_PACKAGING_ARCH).hpkg ; +HaikuPackage $(haikuCrossDevelWrapperPackage) ; + +# add the wrapped package +local developCrossDirTokens = develop cross ; +AddFilesToPackage $(developCrossDirTokens) : $(haikuCrossDevelPackage) ; + +BuildHaikuPackage $(haikuCrossDevelWrapperPackage) : haiku_cross_devel_wrapper ; diff --git a/src/data/package_infos/generic/haiku_cross_devel_wrapper b/src/data/package_infos/generic/haiku_cross_devel_wrapper new file mode 100644 index 0000000000..983dacca35 --- /dev/null +++ b/src/data/package_infos/generic/haiku_cross_devel_wrapper @@ -0,0 +1,22 @@ +name haiku_cross_devel_wrapper +version R1~alpha4_pm-1 +architecture HAIKU_PACKAGING_ARCH +summary "Contains a package with system files for cross development" + +description "This package provides a package that contains all files +associated with the base system needed for cross development, like static +libraries, glue code, library symlinks, header files, etc." + +packager "The Haiku build system" +vendor "Haiku Project" + +copyrights "2001-2013 Haiku, Inc. et al" +licenses "MIT" + +provides { + haiku_cross_devel_wrapper = R1~alpha4_pm-1 +} + +requires { + haiku == R1~alpha4_pm-1 +}