fat: Remove commented out code, now in dosfs_get_file_map().
[haiku.git] / Jamfile
blobc1774a45def70e31797a3e23d9d7d3b60293a67d
1 SubDir HAIKU_TOP ;
3 NotFile doc_files ;
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
14                 # platform.
15                 Depends $(TARGET_PLATFORM) : [
16                         BuildFeatureAttribute gcc_syslibs_devel : c++-headers
17                 ] [
18                         BuildFeatureAttribute gcc_syslibs_devel : gcc-headers
19                 ] ;
20         }
23 # Include required packages:
24 # primary architecture
25 AddHaikuImagePackages [ FFilterByBuildFeatures
26         bash coreutils curl freetype icu libsolv zlib
28         regular_image @{
29                 bzip2 ctags expat ffmpeg findutils gawk glu grep gutenprint gzip jasper jpeg
30                 less libicns libpcap libpng libpng16 libwebp
31                 mesa mesa_devel mesa_swrast
32                 netcat
33                 sed sharutils
34                 tar tcpdump tiff unzip wget which zip
35         }@
36 ] ;
37 if $(HAIKU_PACKAGING_ARCHS[1]) != x86_gcc2 {
38         AddHaikuImagePackages [ FFilterByBuildFeatures gcc_syslibs ] ;
41 if $(HAIKU_PACKAGING_ARCHS[2]) {
42         # secondary architectures
43         local architectureObject ;
44         for architectureObject
45                         in [ MultiArchSubDirSetup $(HAIKU_PACKAGING_ARCHS[2-]) ] {
46                 on $(architectureObject) {
47                         AddHaikuImagePackages [ FFilterByBuildFeatures
48                                 curl freetype icu libsolv zlib
50                                 regular_image @{
51                                         ffmpeg glu jasper jpeg libicns libpng libwebp mesa
52                                 }@
53                         ] ;
54                         if $(TARGET_PACKAGING_ARCH) != x86_gcc2 {
55                                 AddHaikuImagePackages [ FFilterByBuildFeatures gcc_syslibs ] ;
56                         }
57                 }
58         }
61 # If enabled, make sure that OpenSSL is added to the image.
62 if [ FIsBuildFeatureEnabled openssl ] {
63         AddHaikuImagePackages openssl ;
66 # add additionally requested packages
67 AddHaikuImagePackages $(HAIKU_IMAGE_ADDITIONAL_PACKAGES) ;
69 # Optionally we allow not to include the "src" subdirectory.
70 if $(HAIKU_DONT_INCLUDE_SRC) {
71         # Don't include "src", but at least include the stuff needed for the
72         # build.
73         SubInclude HAIKU_TOP src build ;
74         SubInclude HAIKU_TOP src tools ;
75 } else {
76         SubInclude HAIKU_TOP src ;
78 if $(HAIKU_INCLUDE_3RDPARTY) {
79         SubInclude HAIKU_TOP 3rdparty ;
82 # Perform deferred SubIncludes.
83 ExecuteDeferredSubIncludes ;
85 # reset subdir
86 SubDir HAIKU_TOP ;
88 # Execute post-build-target user config rules.
89 UserBuildConfigRulePostBuildTargets     ;
91 # specify the Haiku repository contents
92 include [ FDirName $(HAIKU_BUILD_RULES_DIR) repositories Haiku ] ;
94 # specify the actual Haiku image contents
95 include [ FDirName $(HAIKU_BUILD_RULES_DIR) images HaikuImage ] ;
97 # specify the additional image contents one for each boot type
98 include [ FDirName $(HAIKU_BUILD_RULES_DIR) images NetBootArchive ] ;
99 include [ FDirName $(HAIKU_BUILD_RULES_DIR) images FloppyBootImage ] ;
100 include [ FDirName $(HAIKU_BUILD_RULES_DIR) images CDBootImage ] ;
101 include [ FDirName $(HAIKU_BUILD_RULES_DIR) images CDBootPPCImage ] ;
102 include [ FDirName $(HAIKU_BUILD_RULES_DIR) images HaikuCD ] ;
103 include [ FDirName $(HAIKU_BUILD_RULES_DIR) images AnybootImage ] ;
105 # Check whether all requested optional packages do actually exist.
106 local package ;
107 local packageError ;
108 for package in $(HAIKU_ADDED_OPTIONAL_PACKAGES) {
109         if ! [ on $(package) return $(HAIKU_OPTIONAL_PACKAGE_EXISTS) ] {
110                 Echo "ERROR: Requested optional package \"$(package)\" does not"
111                         "exist." ;
112                 packageError = 1 ;
113         }
115 if $(packageError) {
116         Exit ;
119 # Pseudo-target to build all targets that are localized.
120 NotFile LocalizedTargets ;
121 Depends LocalizedTargets : $(HAIKU_LOCALIZED_TARGETS) ;
123 NotFile catalogs ;
124 Depends catalogs : $(HAIKU_LOCALE_CATALOGS) ;
126 NotFile catkeys ;
127 Depends catkeys : $(HAIKU_LOCALE_OUTPUT_CATKEYS) ;