4f44282c3b
Activating all these packages on live boot (especially live DVD where we also have the write overlay eating up RAM) significantly increases memory requirements for running Haiku, to the point that Installer may fail to run. Move them outside the packages/ directory so they are not activated. Installer already skips the _sources_ directory when installing, and lists the contents of _packages_ with checkbox to decide what to include in the install (they are put in system/packages on the target disk). Fix from previous version: the Haiku package was installed to /system instead of /system/packages. Fixes #15621.
138 lines
3.9 KiB
Plaintext
138 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 ctags diffutils expat ffmpeg findutils gawk glu grep gutenprint8
|
|
gzip ilmbase jasper jpeg
|
|
less libedit libicns libpcap libpng16 libwebp
|
|
mesa mesa_devel mesa_swpipe@!gcc2 mesa_swrast@gcc2
|
|
netcat openexr
|
|
sed sharutils
|
|
tar tcpdump unzip wget which zip
|
|
}@
|
|
] ;
|
|
AddHaikuImageSourcePackages [ FFilterByBuildFeatures
|
|
bash bc coreutils
|
|
|
|
regular_image @{
|
|
ctags expat ffmpeg findutils gawk grep gutenprint8
|
|
gzip
|
|
less libicns
|
|
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) ;
|