Add HaikuDevelSecondary package definition

It defines the haiku devel package for a secondary architecture
(haiku_<arch>_devel.hpkg).
This commit is contained in:
Ingo Weinhold
2013-08-06 03:32:48 +02:00
parent 096c687ea3
commit b4d3e055a9
3 changed files with 94 additions and 1 deletions
+3 -1
View File
@@ -18,7 +18,9 @@ local archDependentPackages =
HaikuCrossDevel
;
local secondaryArchPackages ;
local secondaryArchPackages =
HaikuDevelSecondary
;
if $(HAIKU_BOOTSTRAP_BUILD) {
secondaryArchPackages += HaikuSecondaryBootstrap ;
} else {
+64
View File
@@ -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) :
<src!system!glue!arch!$(arch)!$(architecture)>crti.o
<src!system!glue!arch!$(arch)!$(architecture)>crtn.o
<src!system!glue!$(architecture)>init_term_dyn.o
<src!system!glue!$(architecture)>start_dyn.o
<src!system!glue!$(architecture)>haiku_version_glue.o
;
# additional libraries
local developmentLibs = <revisioned>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 ;
@@ -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
}