24796718b9
* Introduce build variable HAIKU_IMAGE_ADDITIONAL_PACKAGES which can be set to add additional packages to the image. * Use HAIKU_IMAGE_ADDITIONAL_PACKAGES to support specifying a list of additional packages via the build-package-list build profile action. * Add htmldoc and texi2html when building the list of the packages for which we need source packages when building the bootstrap Haiku image. We don't want them on the regular image, but they are needed to build some packages that are on it.
104 lines
2.8 KiB
Plaintext
104 lines
2.8 KiB
Plaintext
SubDir HAIKU_TOP ;
|
|
|
|
NotFile doc_files ;
|
|
Depends files : doc_files ;
|
|
|
|
# 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 ] ;
|
|
}
|
|
}
|
|
|
|
# Include packages that are required by all images.
|
|
if ! $(HAIKU_BOOTSTRAP_BUILD) {
|
|
# primary architecture
|
|
AddHaikuImagePackages
|
|
bzip2 ctags ffmpeg freetype glu grep icu jpeg libpng libsolv mesa sed
|
|
tar zlib
|
|
:
|
|
system
|
|
;
|
|
|
|
# secondary architectures
|
|
local architectureObject ;
|
|
for architectureObject
|
|
in [ MultiArchSubDirSetup $(HAIKU_PACKAGING_ARCHS[2-]) ] {
|
|
on $(architectureObject) {
|
|
AddHaikuImagePackages
|
|
ffmpeg freetype glu icu jpeg libpng libsolv mesa zlib
|
|
:
|
|
system
|
|
;
|
|
}
|
|
}
|
|
}
|
|
|
|
# If enabled, make sure that OpenSSL is added to the image.
|
|
if [ FIsBuildFeatureEnabled openssl ] {
|
|
AddHaikuImagePackages openssl ;
|
|
}
|
|
|
|
# add additionally requested packages
|
|
AddHaikuImagePackages $(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 image and network boot archive contents
|
|
if $(HAIKU_BOOTSTRAP_BUILD) {
|
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images HaikuImageBootstrap ] ;
|
|
} else {
|
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images HaikuImage ] ;
|
|
}
|
|
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 CDBootPPCImage ] ;
|
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images HaikuCD ] ;
|
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images AnybootImage ] ;
|
|
|
|
# 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) ;
|