mirror of
https://review.haiku-os.org/haiku
synced 2025-02-04 20:57:12 +01:00
b0944c78b0
* All packaging architecture dependent variables do now have a respective suffix and are set up for each configured packaging architecture, save for the kernel and boot loader variables, which are still only set up for the primary architecture. For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++, and TARGET_LIBSTDC++ are set to the respective values for the primary packaging architecture by default. * Introduce a set of MultiArch* rules to help with building targets for multiple packaging architectures. Generally the respective targets are (additionally) gristed with the packaging architecture. For libraries the additional grist is usually omitted for the primary architecture (e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that Jamfiles for targets built only for the primary architecture don't need to be changed. * Add multi-arch build support for all targets needed for the stage 1 cross devel package as well as for libbe (untested).
101 lines
3.2 KiB
Plaintext
101 lines
3.2 KiB
Plaintext
local architecture = $(HAIKU_PACKAGING_ARCHS[1]) ;
|
|
|
|
|
|
local haikuDevelPackage = haiku_devel.hpkg ;
|
|
HaikuPackage $(haikuDevelPackage) ;
|
|
|
|
local arch = $(TARGET_ARCH) ;
|
|
local developDirTokens = develop ;
|
|
|
|
# glue code
|
|
AddFilesToPackage $(developDirTokens) lib :
|
|
<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
|
|
;
|
|
|
|
# kernel
|
|
AddFilesToPackage $(developDirTokens) lib : kernel.so : _KERNEL_ ;
|
|
|
|
# additional libraries
|
|
local developmentLibs = <revisioned>libroot_debug.so ;
|
|
AddFilesToPackage lib : $(developmentLibs) ;
|
|
|
|
# library symlinks
|
|
local lib ;
|
|
for lib in $(SYSTEM_LIBS) $(developmentLibs) {
|
|
AddSymlinkToPackage $(developDirTokens) lib : /system/lib $(lib:BS) ;
|
|
local abiVersion = [ on $(lib) return $(HAIKU_LIB_ABI_VERSION) ] ;
|
|
if $(abiVersion) {
|
|
local abiVersionedLib = $(lib:BS).$(abiVersion) ;
|
|
AddSymlinkToPackage $(developDirTokens) lib
|
|
: /system/lib $(abiVersionedLib) ;
|
|
}
|
|
}
|
|
|
|
# static libraries
|
|
AddFilesToPackage $(developDirTokens) lib : <$(architecture)>liblocalestub.a ;
|
|
|
|
# the POSIX error code mapper library
|
|
AddFilesToPackage $(developDirTokens) lib : libposix_error_mapper.a ;
|
|
|
|
# ABI independent stuff
|
|
|
|
# scripts: setgcc
|
|
local scripts = setgcc ;
|
|
SEARCH on $(scripts) = [ FDirName $(HAIKU_TOP) data bin ] ;
|
|
AddFilesToPackage bin : $(scripts) ;
|
|
|
|
# headers
|
|
AddHeaderDirectoryToPackage config ;
|
|
AddHeaderDirectoryToPackage glibc ;
|
|
AddHeaderDirectoryToPackage os ;
|
|
AddHeaderDirectoryToPackage posix ;
|
|
|
|
# private headers
|
|
AddHeaderDirectoryToPackage private ;
|
|
CopyDirectoryToPackage develop headers private libs compat
|
|
: [ FDirName $(HAIKU_TOP) src libs compat freebsd_network ]
|
|
: : -x *.c -x *.cpp -x *.awk -x Jamfile -x miidevs ;
|
|
CopyDirectoryToPackage develop headers private libs compat
|
|
: [ FDirName $(HAIKU_TOP) src libs compat freebsd_wlan ]
|
|
: : -x *.c -x Jamfile ;
|
|
|
|
# create be -> os symlink for now
|
|
AddSymlinkToPackage $(developDirTokens) headers : os : be ;
|
|
|
|
# BSD and GNU compatibility headers
|
|
AddHeaderDirectoryToPackage compatibility bsd : bsd ;
|
|
AddHeaderDirectoryToPackage compatibility gnu : gnu ;
|
|
|
|
# third party libs headers
|
|
if ! $(HAIKU_BOOTSTRAP_BUILD) {
|
|
AddHeaderDirectoryToPackage libs tiff : 3rdparty ;
|
|
}
|
|
|
|
# cpp headers
|
|
if $(HAIKU_GCC_VERSION_$(architecture)[1]) = 2 {
|
|
# GCC 2 only -- for GCC 4 they come with the DevelopmentBase package
|
|
CopyDirectoryToPackage $(developDirTokens) 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 $(developDirTokens) headers os opengl
|
|
: $(mesaGlHeaders) : : : isTarget ;
|
|
}
|
|
|
|
# Deskbar menu symlinks
|
|
AddSymlinkToPackage data deskbar menu Applications
|
|
: ../../../../apps/Debugger : Debugger ;
|
|
|
|
BuildHaikuPackage $(haikuDevelPackage) : haiku_devel ;
|