libroot/posix/stdio: Remove unused portions.
[haiku.git] / build / jam / OptionalPackages
blobb219b6292928efb69550c3337b33c683c72ff6c5
1 # This file defines the optional packages that can be added to the Haiku image.
2 # It is directly included from HaikuImage -- all variables defined there can
3 # be used.
5 # Available Optional Packages:
6 #       BeOSCompatibility               - creates links within the system to support old apps
7 #       Bluetooth                               - experimental Haiku components for Bluetooth
8 #       Development                             - more complete dev environment (including autotools)
9 #       DevelopmentBase                 - basic development environment (gcc, headers, libs,...)
10 #       DevelopmentMin                  - development headers, libs, tools, from sources only
11 #       FFMpeg                                  - audio/video library
12 #       FFMpeg-devel                    - FFMpeg development files
13 #       Git                                             - the distributed version control system
14 #       WebPositive                             - native, WebKit-based web browser
15 #       Welcome                                 - introductory documentation to Haiku
16 #       WifiFirmwareScriptData  - data files needed by install-wifi-firmwares.sh
19 # dependencies between optional packages
20 OptionalPackageDependencies Development : DevelopmentBase ;
21 OptionalPackageDependencies DevelopmentBase : DevelopmentMin ;
22 OptionalPackageDependencies DevelopmentPowerPC : DevelopmentMin ;
23 OptionalPackageDependencies NetFS : UserlandFS ;
26 local baseURL = http://haiku-files.org/files/optional-packages ;
29 # BeBook
30 if [ IsOptionalHaikuImagePackageAdded BeBook ] {
31         AddHaikuImagePackages be_book ;
32         AddSymlinkToHaikuImage home Desktop
33                 : /boot/system/documentation/BeBook/index.html
34                 : BeBook ;
38 # BeOSCompatibility
39 if [ IsOptionalHaikuImagePackageAdded BeOSCompatibility ] {
40         if $(TARGET_ARCH) != x86 {
41                 Echo "No optional package BeOSCompatibility available for"
42                         "$(TARGET_ARCH)" ;
43         } else if $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) >= 4 {
44                 Echo "No optional package BeOSCompatibility available for gcc4" ;
45         } else {
46                 Echo "Warning: Adding BeOS compatibility symlinks. This will go away."
47                         "Please fix your apps!" ;
48                 AddSymlinkToHaikuImage beos : ../system/apps ;
49                 AddSymlinkToHaikuImage beos : ../system/bin ;
50                 AddSymlinkToHaikuImage beos
51                         : ../system/documentation ;
52                 AddSymlinkToHaikuImage beos : ../system/settings/etc ;
53                 AddSymlinkToHaikuImage beos : ../system/preferences ;
54                 AddSymlinkToHaikuImage beos : ../system ;
55                 AddDirectoryToHaikuImage var ;
56                 AddSymlinkToHaikuImage var : /boot/system/var/log ;
57                 AddSymlinkToHaikuImage var : /boot/system/cache/tmp ;
58         }
62 # Bluetooth stack
63 if [ IsOptionalHaikuImagePackageAdded Bluetooth ] {
64 # TODO: Make this an actual package!
65 #       local bluetoothDrivers = h2generic ;
66 #       AddDriversToHaikuImage bluetooth : $(bluetoothDrivers) ;
67 #       AddFilesToHaikuImage system servers : bluetooth_server ;
68 #       AddFilesToHaikuImage system lib : libbluetooth.so ;
69 #       AddFilesToHaikuImage
70 #               system add-ons kernel network protocols : l2cap ;
71 #       AddFilesToHaikuImage system add-ons kernel bluetooth
72 #               : btCoreData hci ;
73 #       AddFilesToHaikuImage system preferences : Bluetooth ;
74 #       AddFilesToHaikuImage system bin : bt_dev_info bt_discovery ;
75 #       AddSymlinkToHaikuImage home config settings deskbar menu Preferences
76 #               : /boot/system/preferences/Bluetooth ;
77 #       if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ]
78 #               && $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) in 2 4 {
79 #               local arch = $(TARGET_ARCH) ;
80 #               local abi = gcc$(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) ;
81 #               AddSymlinkToHaikuImage system develop lib
82 #                       : /system/lib libbluetooth.so ;
83 #       }
87 # Development
88 if [ IsOptionalHaikuImagePackageAdded Development ] {
89         # auto tools and perl
90         AddHaikuImagePackages autoconf automake perl texinfo ;
92         # some other build tools
93         AddHaikuImagePackages pkgconfig scons ;
95         # devel packages for mandatory packages
96         local architectureObject ;
97         for architectureObject in [ MultiArchSubDirSetup ] {
98                 on $(architectureObject) {
99                         AddHaikuImagePackages curl_devel ffmpeg_devel fontconfig_devel
100                                 freetype_devel glu_devel jpeg_devel libpng16_devel zlib_devel ;
101                 }
102         }
106 # DevelopmentBase
107 if [ IsOptionalHaikuImagePackageAdded DevelopmentBase ] {
108         # gcc and binutils (for all target architectures)
109         local architectureObject ;
110         for architectureObject in [ MultiArchSubDirSetup ] {
111                 on $(architectureObject) {
112                         AddHaikuImagePackages binutils gcc ;
113                 }
114         }
116         # other commonly used tools
117         AddHaikuImagePackages bison cdrtools flex jam m4 make mkdepend nasm patch ;
121 # DevelopmentMin
122 if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ]
123                 && ( $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 ) {
124         AddPackageFilesToHaikuImage system
125                 :
126                 haiku_devel.hpkg
127                 haiku_$(TARGET_PACKAGING_ARCHS[2-])_devel.hpkg
128                 :
129                 nameFromMetaInfo
130                 ;
132         if $(HAIKU_IS_BOOTSTRAP) != 1 {
133                 AddPackageFilesToHaikuImage system
134                         :
135                         makefile_engine.hpkg
136                         :
137                         nameFromMetaInfo
138                         ;
139         }
143 # FFmpeg
144 if [ IsOptionalHaikuImagePackageAdded FFMpeg ] {
145         local packages = ffmpeg speex libtheora libvorbis libogg libvpx3 ;
146         AddHaikuImagePackages $(packages) ;
150 # FFmpeg-devel
151 if [ IsOptionalHaikuImagePackageAdded FFMpeg-devel ] {
152         local packages = ffmpeg speex libtheora libvorbis libogg libvpx3 ;
153         AddHaikuImagePackages $(packages)_devel ;
157 # Git
158 if [ IsOptionalHaikuImagePackageAdded Git ] {
159         AddHaikuImagePackages git git_arch git_daemon git_email git_svn ;
163 # WebPositive
164 if [ IsOptionalHaikuImagePackageAdded WebPositive ] {
165         local architectureObject ;
166         for architectureObject in [ MultiArchSubDirSetup ] {
167                 on $(architectureObject) {
168                         if [ FIsBuildFeatureEnabled webpositive ] {
169                                 AddPackageFilesToHaikuImage system : webpositive.hpkg
170                                         : nameFromMetaInfo ;
171                                 InstallOptionalHaikuImagePackage
172                                         $(baseURL)/WebPositiveBookmarks-2017-01-08.zip
173                                         : home config settings WebPositive ;
174                                 break ;
175                         }
176                 }
177         }
181 # Welcome
182 if [ IsOptionalHaikuImagePackageAdded Welcome ] {
183         AddPackageFilesToHaikuImage system : haiku_userguide_ca.hpkg
184                 : nameFromMetaInfo ;
185         AddPackageFilesToHaikuImage system : haiku_userguide_de.hpkg
186                 : nameFromMetaInfo ;
187         AddPackageFilesToHaikuImage system : haiku_userguide_en.hpkg
188                 : nameFromMetaInfo ;
189         AddPackageFilesToHaikuImage system : haiku_userguide_es.hpkg
190                 : nameFromMetaInfo ;
191         AddPackageFilesToHaikuImage system : haiku_userguide_fi.hpkg
192                 : nameFromMetaInfo ;
193         AddPackageFilesToHaikuImage system : haiku_userguide_fr.hpkg
194                 : nameFromMetaInfo ;
195         AddPackageFilesToHaikuImage system : haiku_userguide_hu.hpkg
196                 : nameFromMetaInfo ;
197         AddPackageFilesToHaikuImage system : haiku_userguide_it.hpkg
198                 : nameFromMetaInfo ;
199         AddPackageFilesToHaikuImage system : haiku_userguide_jp.hpkg
200                 : nameFromMetaInfo ;
201         AddPackageFilesToHaikuImage system : haiku_userguide_pl.hpkg
202                 : nameFromMetaInfo ;
203         AddPackageFilesToHaikuImage system : haiku_userguide_pt_BR.hpkg
204                 : nameFromMetaInfo ;
205         AddPackageFilesToHaikuImage system : haiku_userguide_pt_PT.hpkg
206                 : nameFromMetaInfo ;
207         AddPackageFilesToHaikuImage system : haiku_userguide_ru.hpkg
208                 : nameFromMetaInfo ;
209         AddPackageFilesToHaikuImage system : haiku_userguide_sk.hpkg
210                 : nameFromMetaInfo ;
211         AddPackageFilesToHaikuImage system : haiku_userguide_sv_SE.hpkg
212                 : nameFromMetaInfo ;
213         AddPackageFilesToHaikuImage system : haiku_userguide_uk.hpkg
214                 : nameFromMetaInfo ;
215         AddPackageFilesToHaikuImage system : haiku_userguide_zh_CN.hpkg
216                 : nameFromMetaInfo ;
218         AddPackageFilesToHaikuImage system : haiku_welcome.hpkg : nameFromMetaInfo ;
220         AddSymlinkToHaikuImage home Desktop     : /boot/system/bin/welcome
221                 : Welcome ;
222         AddSymlinkToHaikuImage home Desktop     : /boot/system/bin/userguide
223                 : User\ Guide ;
227 # WifiFirmwareScriptData
228 # This optional package is for people who build their own images & have wifi
229 # hardware that requires install-wifi-firmwares.sh & have no active network
230 # connection. This is not to be added to default images.
231 if [ IsOptionalHaikuImagePackageAdded WifiFirmwareScriptData ] {
232 # TODO: Make this an actual package!
233 #       if $(TARGET_ARCH) != x86 {
234 #               Echo "No optional package WifiFirmwareScriptData available for"
235 #                       $(TARGET_ARCH) ;
236 #       } else {
237 #               # broadcom43xx
238 #               # firmware cutter
239 #               local broadcomFWCutterArchive = b43-fwcutter-012.tar.bz2 ;
240 #               local broadcomFWCutterURL =
241 #                       http://www.haiku-files.org/files/wifi-firmwares/b43/fwcutter/$(broadcomFWCutterArchive) ;
242 #               local broadcomFWCutterFile = [ DownloadFile $(broadcomFWCutterArchive)
243 #                       : $(broadcomFWCutterURL) ] ;
244 #               AddFilesToHaikuImage
245 #                       system data firmware broadcom43xx b43-fwcutter
246 #                       : $(broadcomFWCutterFile) ;
248 #               # headers needed to compile firmware cutter
249 #               local glibcDir = [ FDirName
250 #                       $(HAIKU_TOP) src system libroot posix glibc ] ;
251 #               local byteswapHeader = [ FDirName $(glibcDir) string byteswap.h ] ;
252 #               AddFilesToHaikuImage
253 #                       system data firmware broadcom43xx b43-fwcutter
254 #                       : $(byteswapHeader) ;
255 #               local bitByteswapHeader = [ FDirName
256 #                       $(glibcDir) include arch x86 bits byteswap.h ] ;
257 #               AddFilesToHaikuImage
258 #                       system data firmware broadcom43xx b43-fwcutter bits
259 #                       : $(bitByteswapHeader) ;
261 #               # file containing firmware
262 #               local broadcom43xxFile ;
263 #               broadcom43xxFile = [ DownloadFile wl_apsta-3.130.20.0.o
264 #                       : http://www.haiku-files.org/files/wifi-firmwares/b43/wl_apsta-3.130.20.0.o ] ;
265 #               AddFilesToHaikuImage system data firmware broadcom43xx
266 #                       : $(broadcom43xxFile) ;
268 #               # marvell88w8335
269 #               local marvellArchive = malo-firmware-1.4.tgz ;
270 #               local marvellURL = http://www.haiku-files.org/files/wifi-firmwares/marvell/$(marvellArchive) ;
271 #               local marvellFile = [ DownloadFile $(marvellArchive) : $(marvellURL) ] ;
272 #               AddFilesToHaikuImage system data firmware marvell88w8335
273 #                       : $(marvellFile) ;
274 #       }