ef78f1eda0
GAWK is apparently built against them (do we really need that?) so we can't just ship them with the optional package set.
139 lines
3.9 KiB
Plaintext
139 lines
3.9 KiB
Plaintext
SubDir HAIKU_TOP ;
|
|
|
|
# Prepare the optional build features before parsing the Jamfile tree.
|
|
local architectureObject ;
|
|
for architectureObject in [ MultiArchSubDirSetup ] {
|
|
on $(architectureObject) {
|
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) BuildFeatures ] ;
|
|
|
|
# Let the target platform depend on the external header directories such
|
|
# that those will be unpacked before anything is built for the target
|
|
# platform.
|
|
Depends $(TARGET_PLATFORM) : [
|
|
BuildFeatureAttribute gcc_syslibs_devel : c++-headers
|
|
] [
|
|
BuildFeatureAttribute gcc_syslibs_devel : gcc-headers
|
|
] ;
|
|
}
|
|
}
|
|
|
|
# Include required packages:
|
|
# primary architecture
|
|
AddHaikuImageSystemPackages [ FFilterByBuildFeatures
|
|
bash bc coreutils curl freetype icu libsolv zlib zstd
|
|
|
|
regular_image @{
|
|
bzip2 diffutils expat ffmpeg findutils gawk gmp glu grep gutenprint8
|
|
gzip
|
|
lame less libedit libicns
|
|
mesa mesa_devel mesa_swpipe@!gcc2 mesa_swrast@gcc2 mpfr
|
|
netcat
|
|
sed sharutils
|
|
tar tcpdump unzip wget which zip
|
|
}@
|
|
] ;
|
|
AddHaikuImageSourcePackages [ FFilterByBuildFeatures
|
|
bash bc coreutils
|
|
|
|
regular_image @{
|
|
expat ffmpeg findutils gawk gmp grep gutenprint8
|
|
gzip
|
|
lame less libicns
|
|
mpfr
|
|
sed sharutils
|
|
tar wget which
|
|
}@
|
|
] ;
|
|
if $(HAIKU_PACKAGING_ARCHS[1]) != x86_gcc2 {
|
|
AddHaikuImageSystemPackages [ FFilterByBuildFeatures gcc_syslibs ] ;
|
|
}
|
|
|
|
if $(HAIKU_PACKAGING_ARCHS[2]) {
|
|
# secondary architectures
|
|
local architectureObject ;
|
|
for architectureObject
|
|
in [ MultiArchSubDirSetup $(HAIKU_PACKAGING_ARCHS[2-]) ] {
|
|
on $(architectureObject) {
|
|
AddHaikuImageSystemPackages [ FFilterByBuildFeatures
|
|
curl freetype icu libsolv zlib
|
|
|
|
regular_image @{
|
|
ffmpeg glu jasper jpeg libicns libpng16 libwebp mesa
|
|
}@
|
|
] ;
|
|
if $(TARGET_PACKAGING_ARCH) != x86_gcc2 {
|
|
AddHaikuImageSystemPackages [ FFilterByBuildFeatures gcc_syslibs
|
|
mesa_swpipe ] ;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# If enabled, make sure that OpenSSL is added to the image.
|
|
if [ FIsBuildFeatureEnabled openssl ] {
|
|
AddHaikuImageSystemPackages openssl ;
|
|
}
|
|
|
|
# add additionally requested packages
|
|
AddHaikuImageSystemPackages $(HAIKU_IMAGE_ADDITIONAL_PACKAGES) ;
|
|
|
|
# Optionally we allow not to include the "src" subdirectory.
|
|
if $(HAIKU_DONT_INCLUDE_SRC) {
|
|
# Don't include "src", but at least include the stuff needed for the
|
|
# build.
|
|
SubInclude HAIKU_TOP src build ;
|
|
SubInclude HAIKU_TOP src tools ;
|
|
} else {
|
|
SubInclude HAIKU_TOP src ;
|
|
}
|
|
if $(HAIKU_INCLUDE_3RDPARTY) {
|
|
SubInclude HAIKU_TOP 3rdparty ;
|
|
}
|
|
|
|
# Perform deferred SubIncludes.
|
|
ExecuteDeferredSubIncludes ;
|
|
|
|
# reset subdir
|
|
SubDir HAIKU_TOP ;
|
|
|
|
# Execute post-build-target user config rules.
|
|
UserBuildConfigRulePostBuildTargets ;
|
|
|
|
# specify the Haiku repository contents
|
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) repositories Haiku ] ;
|
|
|
|
# specify the actual Haiku image contents
|
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images HaikuImage ] ;
|
|
|
|
# specify the additional image contents one for each boot type
|
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images NetBootArchive ] ;
|
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images FloppyBootImage ] ;
|
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images CDBootImage ] ;
|
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images HaikuCD ] ;
|
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images AnybootImage ] ;
|
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images MMCImage ] ;
|
|
|
|
# Check whether all requested optional packages do actually exist.
|
|
local package ;
|
|
local packageError ;
|
|
for package in $(HAIKU_ADDED_OPTIONAL_PACKAGES) {
|
|
if ! [ on $(package) return $(HAIKU_OPTIONAL_PACKAGE_EXISTS) ] {
|
|
Echo "ERROR: Requested optional package \"$(package)\" does not"
|
|
"exist." ;
|
|
packageError = 1 ;
|
|
}
|
|
}
|
|
if $(packageError) {
|
|
Exit ;
|
|
}
|
|
|
|
# Pseudo-target to build all targets that are localized.
|
|
NotFile LocalizedTargets ;
|
|
Depends LocalizedTargets : $(HAIKU_LOCALIZED_TARGETS) ;
|
|
|
|
NotFile catalogs ;
|
|
Depends catalogs : $(HAIKU_LOCALE_CATALOGS) ;
|
|
|
|
NotFile catkeys ;
|
|
Depends catkeys : $(HAIKU_LOCALE_OUTPUT_CATKEYS) ;
|