4 Depends files : doc_files ;
6 # Prepare the optional build features before parsing the Jamfile tree.
7 local architectureObject ;
8 for architectureObject in [ MultiArchSubDirSetup ] {
9 on $(architectureObject) {
10 include [ FDirName $(HAIKU_BUILD_RULES_DIR) BuildFeatures ] ;
12 # Let the target platform depend on the external header directories such
13 # that those will be unpacked before anything is built for the target
15 Depends $(TARGET_PLATFORM) : [
16 BuildFeatureAttribute gcc_syslibs_devel : c++-headers
18 BuildFeatureAttribute gcc_syslibs_devel : gcc-headers
23 # Include required packages:
24 # primary architecture
25 AddHaikuImagePackages [ FFilterByBuildFeatures
26 bash bc coreutils curl freetype icu libsolv zlib
29 bzip2 ctags diffutils expat ffmpeg findutils gawk glu grep gutenprint
31 less libicns libpcap libpng16 libwebp
32 mesa mesa_devel mesa_swpipe@!gcc2 mesa_swrast@gcc2
35 tar tcpdump unzip wget which zip
38 if $(HAIKU_PACKAGING_ARCHS[1]) != x86_gcc2 {
39 AddHaikuImagePackages [ FFilterByBuildFeatures gcc_syslibs ] ;
42 if $(HAIKU_PACKAGING_ARCHS[2]) {
43 # secondary architectures
44 local architectureObject ;
45 for architectureObject
46 in [ MultiArchSubDirSetup $(HAIKU_PACKAGING_ARCHS[2-]) ] {
47 on $(architectureObject) {
48 AddHaikuImagePackages [ FFilterByBuildFeatures
49 curl freetype icu libsolv zlib
52 ffmpeg glu jasper jpeg libicns libpng16 libwebp mesa
55 if $(TARGET_PACKAGING_ARCH) != x86_gcc2 {
56 AddHaikuImagePackages [ FFilterByBuildFeatures gcc_syslibs
63 # If enabled, make sure that OpenSSL is added to the image.
64 if [ FIsBuildFeatureEnabled openssl ] {
65 AddHaikuImagePackages openssl ;
68 # add additionally requested packages
69 AddHaikuImagePackages $(HAIKU_IMAGE_ADDITIONAL_PACKAGES) ;
71 # Optionally we allow not to include the "src" subdirectory.
72 if $(HAIKU_DONT_INCLUDE_SRC) {
73 # Don't include "src", but at least include the stuff needed for the
75 SubInclude HAIKU_TOP src build ;
76 SubInclude HAIKU_TOP src tools ;
78 SubInclude HAIKU_TOP src ;
80 if $(HAIKU_INCLUDE_3RDPARTY) {
81 SubInclude HAIKU_TOP 3rdparty ;
84 # Perform deferred SubIncludes.
85 ExecuteDeferredSubIncludes ;
90 # Execute post-build-target user config rules.
91 UserBuildConfigRulePostBuildTargets ;
93 # specify the Haiku repository contents
94 include [ FDirName $(HAIKU_BUILD_RULES_DIR) repositories Haiku ] ;
96 # specify the actual Haiku image contents
97 include [ FDirName $(HAIKU_BUILD_RULES_DIR) images HaikuImage ] ;
99 # specify the additional image contents one for each boot type
100 include [ FDirName $(HAIKU_BUILD_RULES_DIR) images NetBootArchive ] ;
101 include [ FDirName $(HAIKU_BUILD_RULES_DIR) images FloppyBootImage ] ;
102 include [ FDirName $(HAIKU_BUILD_RULES_DIR) images CDBootImage ] ;
103 include [ FDirName $(HAIKU_BUILD_RULES_DIR) images CDBootPPCImage ] ;
104 include [ FDirName $(HAIKU_BUILD_RULES_DIR) images HaikuCD ] ;
105 include [ FDirName $(HAIKU_BUILD_RULES_DIR) images AnybootImage ] ;
107 # Check whether all requested optional packages do actually exist.
110 for package in $(HAIKU_ADDED_OPTIONAL_PACKAGES) {
111 if ! [ on $(package) return $(HAIKU_OPTIONAL_PACKAGE_EXISTS) ] {
112 Echo "ERROR: Requested optional package \"$(package)\" does not"
121 # Pseudo-target to build all targets that are localized.
122 NotFile LocalizedTargets ;
123 Depends LocalizedTargets : $(HAIKU_LOCALIZED_TARGETS) ;
126 Depends catalogs : $(HAIKU_LOCALE_CATALOGS) ;
129 Depends catkeys : $(HAIKU_LOCALE_OUTPUT_CATKEYS) ;