147b47e086
This translator only supports still images for now, and supports both decoding and encoding. Encoding support has been tested only with aom, rav1e doesn’t build on Haiku yet, see https://github.com/haikuports/haikuports/pull/5534 for one of the missing dependencies. Change-Id: I716f4b862ed316b89b227bfed38072d72074201f Reviewed-on: https://review.haiku-os.org/c/haiku/+/3040 Reviewed-by: waddlesplash <waddlesplash@gmail.com> Reviewed-by: Jérôme Duval <jerome.duval@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
141 lines
4.0 KiB
Plaintext
141 lines
4.0 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 freetype libsolv zlib
|
|
|
|
!gcc2 @{ icu66 }@
|
|
gcc2 @{ icu icu66_x86@secondary_x86 }@
|
|
regular_image @{
|
|
bzip2 diffutils expat ffmpeg findutils glu gutenprint8 gzip
|
|
lame less libedit libicns
|
|
mawk mesa mesa_devel mesa_swpipe@!gcc2 mesa_swrast@gcc2
|
|
netcat
|
|
sed sharutils
|
|
tcpdump unzip wget which zip
|
|
|
|
!gcc2 @{ grep tar zstd }@
|
|
gcc2 @{ grep_x86@secondary_x86 tar_x86@secondary_x86 }@
|
|
}@
|
|
] ;
|
|
AddHaikuImageSourcePackages [ FFilterByBuildFeatures
|
|
bash bc coreutils
|
|
|
|
regular_image @{
|
|
expat ffmpeg findutils grep gutenprint8 gzip
|
|
lame less libicns mawk
|
|
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
|
|
freetype icu libsolv zlib
|
|
|
|
regular_image @{
|
|
ffmpeg glu jasper jpeg libavif 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) ;
|