diff --git a/build/jam/HaikuPackages b/build/jam/HaikuPackages index 6d8c0f9b60..89a1a8d77a 100644 --- a/build/jam/HaikuPackages +++ b/build/jam/HaikuPackages @@ -18,7 +18,9 @@ local archDependentPackages = HaikuCrossDevel ; -local secondaryArchPackages ; +local secondaryArchPackages = + HaikuDevelSecondary + ; if $(HAIKU_BOOTSTRAP_BUILD) { secondaryArchPackages += HaikuSecondaryBootstrap ; } else { diff --git a/build/jam/packages/HaikuDevelSecondary b/build/jam/packages/HaikuDevelSecondary new file mode 100644 index 0000000000..011aa5a4ec --- /dev/null +++ b/build/jam/packages/HaikuDevelSecondary @@ -0,0 +1,64 @@ +local architecture = $(TARGET_PACKAGING_ARCH) ; + + +local haikuDevelPackage = haiku_$(architecture)_devel.hpkg ; +HaikuPackage $(haikuDevelPackage) ; + +local arch = $(TARGET_ARCH) ; + +# glue code +AddFilesToPackage develop lib $(architecture) : + crti.o + crtn.o + init_term_dyn.o + start_dyn.o + haiku_version_glue.o + ; + +# additional libraries +local developmentLibs = libroot_debug.so ; +AddFilesToPackage lib : $(developmentLibs) ; + +# library symlinks +local lib ; +for lib in [ HaikuImageGetSystemLibs ] $(developmentLibs) { + AddSymlinkToPackage develop lib $(architecture) + : /system/lib/$(architecture) $(lib:BS) ; + local abiVersion = [ on $(lib) return $(HAIKU_LIB_ABI_VERSION) ] ; + if $(abiVersion) { + local abiVersionedLib = $(lib:BS).$(abiVersion) ; + AddSymlinkToPackage develop lib $(architecture) + : /system/lib/$(architecture) $(abiVersionedLib) ; + } +} + +# static libraries +AddFilesToPackage develop lib $(architecture) + : <$(architecture)>liblocalestub.a ; + +# the POSIX error code mapper library +AddFilesToPackage develop lib $(architecture) + : libposix_error_mapper.a ; + +# ABI independent stuff + +# cpp headers +if $(HAIKU_GCC_VERSION_$(architecture)[1]) = 2 { + # GCC 2 only -- for GCC 4 they come with the gcc package + CopyDirectoryToPackage develop headers c++ + : [ FDirName $(HAIKU_TOP) headers cpp ] : 2.95.3 ; +} + +# OpenGL headers +if $(TARGET_ARCH) = x86 && ! $(HAIKU_BOOTSTRAP_BUILD) { + local mesaGlHeaders + = [ FDirName [ BuildFeatureAttribute mesa : headers : path ] GL ] ; + local mesaGlHeadersDependency = [ BuildFeatureAttribute mesa : headers ] ; + mesaGlHeaders = $(mesaGlHeaders:G=$(mesaGlHeadersDependency:G)) ; + Depends $(mesaGlHeaders) : $(mesaGlHeadersDependency) ; + CopyDirectoryToPackage develop headers $(architecture) os opengl + : $(mesaGlHeaders) : : : isTarget ; +} + + +BuildHaikuPackage $(haikuDevelPackage) : haiku_devel_secondary ; diff --git a/src/data/package_infos/generic/haiku_devel_secondary b/src/data/package_infos/generic/haiku_devel_secondary new file mode 100644 index 0000000000..9dc06b19f0 --- /dev/null +++ b/src/data/package_infos/generic/haiku_devel_secondary @@ -0,0 +1,27 @@ +#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) +version R1~alpha4_pm-1 +architecture HAIKU_PACKAGING_ARCH +summary "The Haiku base system "TO_STRING(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)", +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 { + CONCAT(haiku_devel_, HAIKU_SECONDARY_PACKAGING_ARCH) = R1~alpha4_pm-1 +} + +requires { + CONCAT(haiku_, HAIKU_SECONDARY_PACKAGING_ARCH) == R1~alpha4_pm-1 +}