xref: /haiku/build/jam/OptionalPackages (revision d3fdcc312a9994593e9ab8e1e0bcc93d9aa02389)
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
4
5# Detect a hybrid GCC2/GCC4 image and disable the checks for unavailable GCC4
6# packages. (It does not matter if a package was built with either compiler,
7# the system should have the respective other system libs.)
8local isHybridBuild ;
9if $(HAIKU_ADD_ALTERNATIVE_GCC_LIBS) = 1
10		&& $(HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR) {
11	isHybridBuild = 1 ;
12}
13
14
15# Available Optional Packages:
16#	ABI-compliance-checker	- tool for checking ABI compatibility between libs
17#	APR						- support libraries used for example by Subversion
18#	APR-util				- Apache portable runtime utility library
19#	ArmyKnife				- tool for editing audio file metadata and attributes
20#	Bazaar					- the distributed version control system
21#	BeAE					- open source Audio Editor
22#	Beam					- powerful native e-mail client
23#	BeBook					- the classic BeOS API documentation
24#	BeHappy					- special documentation (i.e. BeBook) browser
25#	BeOSCompatibility		- creates links within the system to support old apps
26#	BePDF					- native PDF reader
27#	BeZillaBrowser			- fork of Mozilla's 1.8 branch.
28#	Bluetooth				- experimental Haiku components for Bluetooth
29#	BurnItNow				- CD burning app
30#	Bzip					- file archiving utility
31#	CCache					- fast compiler cache
32#	CDRecord				- the command line CD writing tools
33#	Clockwerk				- native audio/video compositing
34#	CLucene					- indexed file search
35#	Curl					- a client that groks URLs
36#	CMake					- cross platform make
37#	CVS						- the version control system
38#	Development				- more complete dev environment (including autotools)
39#	DevelopmentBase			- basic development environment (gcc, headers, libs,...)
40#	DevelopmentJava			- JamVM, a Java Virtual machine, GNU Classpath, ECJ
41#	DevelopmentMin			- development headers, libs, tools, from sources only
42#	Doxygen					- Generate documentation from source code
43#	Expat					- XML parsing libraries
44#	Fastdep					- fast dependency generator for C/C++ files
45#	friss					- RSS/ATOM/... feeds reader
46#	GetText					- a framework to help produce multi-lingual messages.
47#	Git						- the distributed version control system
48#	GPerf					- the perfect hash function generator.
49#	Groff					- text formatter used for man pages
50#	ICU-devel				- the headers and lib-links for ICU (for development)
51#	KeymapSwitcher			- Easy to use keymap switcher
52#	LibEvent				- An event notification library
53#	LibIconv				- text encoding conversion library
54#	LibLayout				- GCC2 package needed by some BeOS apps to compile
55#	Libmng					- mng support library
56#	LibXML2					- the XML support library
57#	LibXSLT					- xslt library and utility
58#	Links					- the web browser
59#	Lua						- the scripting language
60#	Man						- standard commands to read man pages
61#	Mercurial				- the distributed version control system
62#	Nano					- the command line text editor
63#	Neon					- support libraries used for example by SVN
64#	NetFS					- the native networked file system components
65#	NetSurf					- the web browser
66#	OCaml					- the Objective Caml language
67#	OpenSound				- additional audio driver package
68#	OpenSSH					- the secure shell
69#	OpenSSL					- secure sockets library
70#	P7zip					- file archiving utility
71#	Paladin					- a Haiku IDE
72#	PCRE					- the (Perl-compatible) regex engine
73#	Pe						- the powerful native Programmer's Editor
74#	Perl					- the scripting language
75#	Python					- the scripting language
76#	Rsync					- remote directory synchronization
77#	Ruby					- the programming language
78#	Sed						- the ultimate stream editor
79#	SQLite					- the database implementation
80#	Subversion				- the version control system
81#	TagLib					- id3 tag library
82#	Tar						- archiving utility
83#	TimGMSoundFont			- a good quality General MIDI Sound Font
84#	TrackerNewTemplates		- template files for Tracker's New menu
85#	Transmission			- a fast, easy, and free BitTorrent Client
86#	UserlandFS				- aids native file system development (like FUSE)
87#	Vim						- Vi IMproved. Highly configurable text editor
88#	Vision					- powerful native IRC client
89#	WebPositive				- native, WebKit-based web browser
90#	Welcome					- introductory documentation to Haiku
91#	WifiFirmwareScriptData	- data files needed by install-wifi-firmwares.sh
92#	WonderBrush				- native graphics application
93#	wpa_supplicant			- a WPA Supplicant with support for WPA and WPA2
94#	WQY-MicroHei			- Chinese font
95#	XZ-Utils				- file archiving utility
96#	Yasm					- the assembler utility
97
98local baseURL = http://haiku-files.org/files/optional-packages ;
99local baseSourceURL = http://haiku-files.org/files/sources ;
100
101# ABI-compliance-checker
102if [ IsOptionalHaikuImagePackageAdded ABI-compliance-checker ] {
103	if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) {
104		Echo "No optional package ABI-compliance-checker for gcc2" ;
105	} else {
106		InstallOptionalHaikuImagePackage
107			ABI-compliance-checker-1.12-noarch-gcc4-2010-02-01.zip
108			: $(baseURL)/ABI-compliance-checker-1.12-noarch-gcc4-2010-02-01.zip ;
109	}
110}
111
112
113# APR
114if [ IsOptionalHaikuImagePackageAdded APR ] {
115	if $(TARGET_ARCH) != x86 {
116		Echo "No optional package APR available for $(TARGET_ARCH)" ;
117	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
118		InstallOptionalHaikuImagePackage
119			apr-1.4.5-x86-gcc4-2011-08-03.zip
120			: $(baseURL)/apr-1.4.5-x86-gcc4-2011-08-03.zip
121			: : true ;
122	} else {
123		InstallOptionalHaikuImagePackage
124			apr-1.4.5-x86-gcc2-2011-08-02.zip
125			: $(baseURL)/apr-1.4.5-x86-gcc2-2011-08-02.zip
126			: : true ;
127	}
128}
129
130
131# APR-util
132if [ IsOptionalHaikuImagePackageAdded APR-util ] {
133	if $(TARGET_ARCH) != x86 {
134		Echo "No optional package APR-util available for $(TARGET_ARCH)" ;
135	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
136		InstallOptionalHaikuImagePackage
137			apr-util-1.3.12-x86-gcc4-2011-08-03.zip
138			: $(baseURL)/apr-util-1.3.12-x86-gcc4-2011-08-03.zip
139			: : true ;
140	} else {
141		InstallOptionalHaikuImagePackage
142			apr-util-1.3.12-x86-gcc2-2011-08-02.zip
143			: $(baseURL)/apr-util-1.3.12-x86-gcc2-2011-08-02.zip
144			: : true ;
145	}
146}
147
148
149# ArmyKnife
150if [ IsOptionalHaikuImagePackageAdded ArmyKnife ] {
151	if $(TARGET_ARCH) != x86 {
152		Echo "No optional package ArmyKnife available for $(TARGET_ARCH)" ;
153	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
154		Echo "No optional package ArmyKnife for gcc4" ;
155	} else {
156		InstallOptionalHaikuImagePackage
157			armyknife-63-r1a3-x86-gcc2-2011-06-04.zip
158			: $(baseURL)/armyknife-63-r1a3-x86-gcc2-2011-06-04.zip ;
159		AddSymlinkToHaikuImage home config be Applications
160			: /boot/apps/ArmyKnife/ArmyKnife ;
161	}
162}
163
164
165# Bazaar
166if [ IsOptionalHaikuImagePackageAdded Bazaar ] {
167	if $(TARGET_ARCH) != x86 {
168		Echo "No optional package Bazaar available for $(TARGET_ARCH)" ;
169	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
170		InstallOptionalHaikuImagePackage bzr-2.2.2-r1a3-x86-gcc4-2011-05-23.zip
171			: $(baseURL)/bzr-2.2.2-r1a3-x86-gcc4-2011-05-23.zip ;
172	} else {
173		InstallOptionalHaikuImagePackage bzr-2.2.2-r1a3-x86-gcc2-2011-05-17.zip
174			: $(baseURL)/bzr-2.2.2-r1a3-x86-gcc2-2011-05-17.zip ;
175	}
176}
177
178
179# BeAE
180if [ IsOptionalHaikuImagePackageAdded BeAE ] {
181	if $(TARGET_ARCH) != x86 {
182		Echo "No optional package BeAE available for $(TARGET_ARCH)" ;
183	} else {
184		if $(HAIKU_GCC_VERSION[1]) >= 4 {
185			InstallOptionalHaikuImagePackage
186				beae-22-r1a3-x86-gcc4-2011-05-24.zip
187				: $(baseURL)/beae-22-r1a3-x86-gcc4-2011-05-24.zip ;
188		} else {
189			InstallOptionalHaikuImagePackage
190				beae-22-r1a3-x86-gcc2-2011-05-18.zip
191				: $(baseURL)/beae-22-r1a3-x86-gcc2-2011-05-18.zip ;
192		}
193		AddSymlinkToHaikuImage home config be Applications
194			: /boot/apps/BeAE/BeAE ;
195	}
196}
197
198
199# Beam
200if [ IsOptionalHaikuImagePackageAdded Beam ] {
201	if $(TARGET_ARCH) != x86 {
202		Echo "No optional package Beam available for $(TARGET_ARCH)" ;
203	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
204		Echo "No optional package Beam available for gcc4" ;
205	} else {
206		InstallOptionalHaikuImagePackage Beam-1.2alpha-x86-gcc2-2010-04-29.zip
207			: $(baseURL)/Beam-1.2alpha-x86-gcc2-2010-04-29.zip ;
208		AddSymlinkToHaikuImage home config be Applications
209			: /boot/apps/Beam/Beam ;
210	}
211}
212
213
214# BeBook
215if [ IsOptionalHaikuImagePackageAdded BeBook ] {
216	InstallOptionalHaikuImagePackage bebook_20081026.zip
217		: $(baseURL)/bebook_20081026.zip
218		: system documentation ;
219	AddSymlinkToHaikuImage home Desktop
220		: /boot/system/documentation/bebook/index.html : BeBook ;
221}
222
223
224# BeHappy
225if [ IsOptionalHaikuImagePackageAdded BeHappy ] {
226	if $(TARGET_ARCH) != x86 {
227		Echo "No optional package BeHappy available for $(TARGET_ARCH)" ;
228	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
229		Echo "No optional package BeHappy available for gcc4" ;
230	} else {
231		Echo "No optional package BeHappy available for gcc2" ;
232	}
233}
234
235
236# BeOSCompatibility
237if [ IsOptionalHaikuImagePackageAdded BeOSCompatibility ] {
238	if $(TARGET_ARCH) != x86 {
239		Echo "No optional package BeOSCompatibility available for $(TARGET_ARCH)" ;
240	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
241		Echo "No optional package BeOSCompatibility available for gcc4" ;
242	} else {
243		Echo "Warning: Adding BeOS compatibility symlinks. This will go away. Please fix your apps!" ;
244		AddSymlinkToHaikuImage beos : ../system/apps ;
245		AddSymlinkToHaikuImage beos : ../system/bin ;
246		AddSymlinkToHaikuImage beos : ../system/documentation ;
247		AddSymlinkToHaikuImage beos : ../common/etc ;
248		AddSymlinkToHaikuImage beos : ../system/preferences ;
249		AddSymlinkToHaikuImage beos : ../system ;
250		AddDirectoryToHaikuImage var ;
251		AddSymlinkToHaikuImage var : /boot/common/var/log ;
252		AddSymlinkToHaikuImage var : /boot/common/cache/tmp ;
253	}
254}
255
256
257# BePDF
258if [ IsOptionalHaikuImagePackageAdded BePDF ] {
259	if $(TARGET_ARCH) != x86 {
260		Echo "No optional package BePDF available for $(TARGET_ARCH)" ;
261	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
262		Echo "No optional package BePDF available for gcc4" ;
263	} else {
264		InstallOptionalHaikuImagePackage
265			bepdf-1.1.1b4-r1a3-x86-gcc2-2011-05-30.zip
266			: $(baseURL)/bepdf-1.1.1b4-r1a3-x86-gcc2-2011-05-30.zip ;
267		AddSymlinkToHaikuImage home config be Applications
268			: /boot/apps/BePDF/BePDF ;
269	}
270}
271
272
273# BeZillaBrowser
274if [ IsOptionalHaikuImagePackageAdded BeZillaBrowser ] {
275	if $(TARGET_ARCH) != x86 {
276		Echo "No optional package BeZillaBrowser available for $(TARGET_ARCH)" ;
277	} else {
278		if $(HAIKU_GCC_VERSION[1]) >= 4 {
279			InstallOptionalHaikuImagePackage
280				BeZillaBrowser-2.0.0.22pre-r1a2-x86-gcc4-2010-05-04.zip
281				: $(baseURL)/BeZillaBrowser-2.0.0.22pre-r1a2-x86-gcc4-2010-05-04.zip ;
282 		} else {
283			InstallOptionalHaikuImagePackage
284				BeZillaBrowser-2.0.0.22pre-r1a2-x86-gcc2-2010-05-02.zip
285				: $(baseURL)/BeZillaBrowser-2.0.0.22pre-r1a2-x86-gcc2-2010-05-02.zip ;
286 		}
287 		AddSymlinkToHaikuImage home config be Applications
288			: /boot/apps/BeZillaBrowser/BeZillaBrowser ;
289		InstallSourceArchive BeZillaBrowser-2.0.0.22pre-r1a2-sources.tar.xz
290			: $(baseSourceURL)/2010/BeZillaBrowser-2.0.0.22pre-r1a2-sources.tar.xz ;
291	}
292}
293
294
295# Bluetooth stack
296if [ IsOptionalHaikuImagePackageAdded Bluetooth ] {
297	local bluetoothDrivers = h2generic ;
298	AddDriversToHaikuImage bluetooth : $(bluetoothDrivers) ;
299	AddFilesToHaikuImage system servers : bluetooth_server ;
300	AddFilesToHaikuImage system lib : libbluetooth.so ;
301	AddFilesToHaikuImage system add-ons kernel network protocols : l2cap ;
302	AddFilesToHaikuImage system add-ons kernel bluetooth : btCoreData hci ;
303	AddFilesToHaikuImage system preferences : Bluetooth ;
304	AddFilesToHaikuImage system bin : bt_dev_info bt_discovery ;
305	AddSymlinkToHaikuImage home config be Preferences
306		: /boot/system/preferences/Bluetooth ;
307	if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ]
308		&& $(HAIKU_GCC_VERSION[1]) in 2 4 {
309		local arch = $(TARGET_ARCH) ;
310		local abi = gcc$(HAIKU_GCC_VERSION[1]) ;
311		AddSymlinkToHaikuHybridImage develop abi $(arch) $(abi) lib
312			: /system/lib libbluetooth.so : : true ;
313	}
314}
315
316
317# BurnItNow
318if [ IsOptionalHaikuImagePackageAdded BurnItNow ] {
319	if $(TARGET_ARCH) != x86 {
320		Echo "No optional package BurnItNow available for $(TARGET_ARCH)" ;
321	} else {
322		if $(HAIKU_GCC_VERSION[1]) >= 4 {
323			InstallOptionalHaikuImagePackage
324			burnitnow-39-r1a3-x86-gcc4-2011-05-24.zip
325				: $(baseURL)/burnitnow-39-r1a3-x86-gcc4-2011-05-24.zip ;
326		} else {
327		InstallOptionalHaikuImagePackage
328			burnitnow-39-r1a3-x86-gcc2-2011-05-18.zip
329			: $(baseURL)/burnitnow-39-r1a3-x86-gcc2-2011-05-18.zip ;
330		}
331		AddSymlinkToHaikuImage home config be Applications
332			: /boot/apps/BurnItNow/BurnItNow ;
333	}
334}
335
336
337# Bzip
338if [ IsOptionalHaikuImagePackageAdded Bzip ] {
339	if $(TARGET_ARCH) != x86 {
340		Echo "No optional package Bzip available for $(TARGET_ARCH)" ;
341	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
342		InstallOptionalHaikuImagePackage
343			bzip2-1.0.6-r1a3-x86-gcc4-2011-05-24.zip
344			: $(baseURL)/bzip2-1.0.6-r1a3-x86-gcc4-2011-05-24.zip
345			: : true ;
346	} else {
347		InstallOptionalHaikuImagePackage
348			bzip2-1.0.6-r1a3-x86-gcc2-2011-05-17.zip
349			: $(baseURL)/bzip2-1.0.6-r1a3-x86-gcc2-2011-05-17.zip
350			: : true ;
351	}
352}
353
354
355# CCache
356if [ IsOptionalHaikuImagePackageAdded CCache ] {
357	if $(TARGET_ARCH) != x86 {
358		Echo "No optional package CCache available for $(TARGET_ARCH)" ;
359	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
360		InstallOptionalHaikuImagePackage
361			ccache-3.0.1-r1a3-x86-gcc4-2011-05-23.zip
362			: $(baseURL)/ccache-3.0.1-r1a3-x86-gcc4-2011-05-23.zip ;
363	} else {
364		InstallOptionalHaikuImagePackage
365			ccache-3.0.1-r1a3-x86-gcc2-2011-05-17.zip
366			: $(baseURL)/ccache-3.0.1-r1a3-x86-gcc2-2011-05-17.zip ;
367	}
368}
369
370
371# CDRecord
372if [ IsOptionalHaikuImagePackageAdded CDRecord ] {
373	if $(TARGET_ARCH) != x86 {
374		Echo "No optional package CDRecord available for $(TARGET_ARCH)" ;
375	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
376		InstallOptionalHaikuImagePackage
377			cdrtools-3.01a01-r1a3-x86-gcc4-2011-05-23.zip
378			: $(baseURL)/cdrtools-3.01a01-r1a3-x86-gcc4-2011-05-23.zip ;
379	} else {
380		InstallOptionalHaikuImagePackage
381			cdrtools-3.01a01-r1a3-x86-gcc2-2011-05-17.zip
382			: $(baseURL)/cdrtools-3.01a01-r1a3-x86-gcc2-2011-05-17.zip ;
383	}
384}
385
386
387# Clockwerk
388if [ IsOptionalHaikuImagePackageAdded Clockwerk ] {
389	if $(TARGET_ARCH) != x86 {
390		Echo "No optional package Clockwerk available for $(TARGET_ARCH)" ;
391	} else {
392		if $(HAIKU_GCC_VERSION[1]) >= 4 {
393			InstallOptionalHaikuImagePackage
394				Clockwerk-0.0.2-x86-gcc4-2010-10-13-1.zip
395				: $(baseURL)/Clockwerk-0.0.2-x86-gcc4-2010-10-13-1.zip ;
396		} else {
397			InstallOptionalHaikuImagePackage
398				Clockwerk-0.0.2-x86-gcc2-2010-10-13-1.zip
399				: $(baseURL)/Clockwerk-0.0.2-x86-gcc2-2010-10-13-1.zip ;
400		}
401		AddSymlinkToHaikuImage home config be Applications
402			: /boot/apps/Clockwerk/Clockwerk ;
403	}
404}
405
406
407# CLucene
408if [ IsOptionalHaikuImagePackageAdded CLucene ] {
409	if $(TARGET_ARCH) != x86 {
410		Echo "No optional package CLucene available for $(TARGET_ARCH)" ;
411	} else if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) {
412		Echo "No optional package CLucene available for GCC2" ;
413	} else {
414		InstallOptionalHaikuImagePackage
415			clucene-0.9.21-x86-gcc4-haiku-2009-08-11.zip
416			: $(baseURL)/clucene-0.9.21-x86-gcc4-haiku-2009-08-11.zip
417			: : true ;
418	}
419}
420
421
422# CMake
423if [ IsOptionalHaikuImagePackageAdded CMake ] {
424	if $(TARGET_ARCH) != x86 {
425		Echo "No optional package CMake available for $(TARGET_ARCH)" ;
426	} else {
427		if $(HAIKU_GCC_VERSION[1]) >= 4 {
428			InstallOptionalHaikuImagePackage
429				cmake-2.8.4-r1a3-x86-gcc4-2011-05-23.zip
430				: $(baseURL)/cmake-2.8.4-r1a3-x86-gcc4-2011-05-23.zip
431				: : true ;
432		} else {
433			InstallOptionalHaikuImagePackage
434				cmake-2.8.4-r1a3-x86-gcc2-2011-05-19.zip
435				: $(baseURL)/cmake-2.8.4-r1a3-x86-gcc2-2011-05-19.zip
436				: : true ;
437		}
438	}
439}
440
441
442# Curl
443if [ IsOptionalHaikuImagePackageAdded Curl ] {
444	if $(TARGET_ARCH) != x86 {
445		Echo "No optional package Curl available for $(TARGET_ARCH)" ;
446	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
447		InstallOptionalHaikuImagePackage curl-7.21.7-x86-gcc4-2011-06-23.zip
448			: $(baseURL)/curl-7.21.7-x86-gcc4-2011-06-23.zip ;
449	} else {
450		InstallOptionalHaikuImagePackage curl-7.21.7-x86-gcc2-2011-06-23.zip
451			: $(baseURL)/curl-7.21.7-x86-gcc2-2011-06-23.zip ;
452	}
453}
454
455
456# CVS
457if [ IsOptionalHaikuImagePackageAdded CVS ] {
458	if $(TARGET_ARCH) != x86 {
459		Echo "No optional package CVS available for $(TARGET_ARCH)" ;
460	} else {
461		if $(HAIKU_GCC_VERSION[1]) >= 4 {
462			InstallOptionalHaikuImagePackage
463				cvs-1.12.13.1-r1a3-x86-gcc4-2011-05-24.zip
464				: $(baseURL)/cvs-1.12.13.1-r1a3-x86-gcc4-2011-05-24.zip
465				: : true ;
466		} else {
467			InstallOptionalHaikuImagePackage
468				cvs-1.12.13.1-r1a3-x86-gcc2-2011-05-18.zip
469				: $(baseURL)/cvs-1.12.13.1-r1a3-x86-gcc2-2011-05-18.zip
470				: : true ;
471		}
472	}
473}
474
475
476# Development
477if [ IsOptionalHaikuImagePackageAdded Development ] && $(TARGET_ARCH) = x86 {
478	# autotools
479	if $(HAIKU_GCC_VERSION[1]) >= 4 {
480		InstallOptionalHaikuImagePackage
481			autoconf-2.68-r1a3-x86-gcc4-2011-05-23.zip
482			: $(baseURL)/autoconf-2.68-r1a3-x86-gcc4-2011-05-23.zip
483			: : true ;
484		InstallOptionalHaikuImagePackage
485			automake-1.11.1-r1a3-x86-gcc4-2011-05-23.zip
486			: $(baseURL)/automake-1.11.1-r1a3-x86-gcc4-2011-05-23.zip
487			: : true ;
488		InstallOptionalHaikuImagePackage
489			libtool-2.4-r1a3-x86-gcc4-2011-05-23.zip
490			: $(baseURL)/libtool-2.4-r1a3-x86-gcc4-2011-05-23.zip
491			: : true ;
492		InstallOptionalHaikuImagePackage
493			texinfo-4.13a-r1a3-x86-gcc4-2011-05-24.zip
494			: $(baseURL)/texinfo-4.13a-r1a3-x86-gcc4-2011-05-24.zip
495			: : true ;
496	} else {
497		InstallOptionalHaikuImagePackage
498			autoconf-2.68-r1a3-x86-gcc2-2011-05-17.zip
499			: $(baseURL)/autoconf-2.68-r1a3-x86-gcc2-2011-05-17.zip
500			: : true ;
501		InstallOptionalHaikuImagePackage
502			automake-1.11.1-r1a3-x86-gcc2-2011-05-17.zip
503			: $(baseURL)/automake-1.11.1-r1a3-x86-gcc2-2011-05-17.zip
504			: : true ;
505		InstallOptionalHaikuImagePackage
506			libtool-2.4-r1a3-x86-gcc2-2011-05-17.zip
507			: $(baseURL)/libtool-2.4-r1a3-x86-gcc2-2011-05-17.zip
508			: : true ;
509		InstallOptionalHaikuImagePackage
510			texinfo-4.13a-r1a3-x86-gcc2-2011-05-18.zip
511			: $(baseURL)/texinfo-4.13a-r1a3-x86-gcc2-2011-05-18.zip
512			: : true ;
513	}
514}
515
516
517# DevelopmentBase
518if [ IsOptionalHaikuImagePackageAdded DevelopmentBase ]
519		&& $(TARGET_ARCH) = x86 {
520	# gcc and binutils
521	if $(HAIKU_GCC_VERSION[1]) = 2 || $(isHybridBuild) {
522		InstallOptionalHaikuImagePackage
523			gcc-2.95.3-r1a3-x86-gcc2-2010-08-18.zip
524			: $(baseURL)/gcc-2.95.3-r1a3-x86-gcc2-2010-08-18.zip ;
525	}
526
527	if $(HAIKU_GCC_VERSION[1]) = 2 {
528		# symlink to the appropriate system/lib[/gcc2] folder
529		AddSymlinkToHaikuHybridImage
530			develop abi x86 gcc2 tools gcc-2.95.3-haiku-100818 lib
531			: /system/lib libstdc++.r4.so : : true ;
532	}
533
534	if $(HAIKU_GCC_VERSION[1]) = 4 || $(isHybridBuild) {
535		InstallOptionalHaikuImagePackage
536			gcc-4.5.3-r1a3-x86-gcc4-2011-06-20.zip
537			: $(baseURL)/gcc-4.5.3-r1a3-x86-gcc4-2011-06-20.zip ;
538	}
539
540	if $(HAIKU_GCC_VERSION[1]) = 4 {
541		# symlink cpp to g++'s headers
542		AddSymlinkToHaikuHybridImage develop abi x86 gcc4 headers
543			: ../tools/current/include/g++ : cpp ;
544
545		# symlink to the appropriate system/lib[/gcc4] folder
546		local libs = libstdc++.so libsupc++.so ;
547		for lib in $(libs) {
548			AddSymlinkToHaikuHybridImage
549				develop abi x86 gcc4 tools gcc-4.5.3-haiku-110620 lib
550				: /system/lib $(lib) : : true ;
551		}
552	}
553
554	# other commonly used tools
555	if $(HAIKU_GCC_VERSION[1]) >= 4 {
556		InstallOptionalHaikuImagePackage
557			bison-2.4.3-r1a3-x86-gcc4-2011-05-23.zip
558			: $(baseURL)/bison-2.4.3-r1a3-x86-gcc4-2011-05-23.zip ;
559		InstallOptionalHaikuImagePackage
560			m4-1.4.16-r1a3-x86-gcc4-2011-05-23.zip
561			: $(baseURL)/m4-1.4.16-r1a3-x86-gcc4-2011-05-23.zip ;
562		InstallOptionalHaikuImagePackage
563			flex-2.5.35-r1a3-x86-gcc4-2011-05-23.zip
564			: $(baseURL)/flex-2.5.35-r1a3-x86-gcc4-2011-05-23.zip ;
565		InstallOptionalHaikuImagePackage
566			jam-2.5-r1a3-x86-gcc4-2011-05-23.zip
567			: $(baseURL)/jam-2.5-r1a3-x86-gcc4-2011-05-23.zip ;
568		InstallOptionalHaikuImagePackage
569			mkdepend-1.7-r1a3-x86-gcc4-2011-05-23.zip
570			: $(baseURL)/mkdepend-1.7-r1a3-x86-gcc4-2011-05-23.zip ;
571		InstallOptionalHaikuImagePackage
572			make-3.82-r1a3-x86-gcc4-2011-05-23.zip
573			: $(baseURL)/make-3.82-r1a3-x86-gcc4-2011-05-23.zip ;
574	} else {
575		InstallOptionalHaikuImagePackage
576			bison-2.4.3-r1a3-x86-gcc2-2011-05-17.zip
577			: $(baseURL)/bison-2.4.3-r1a3-x86-gcc2-2011-05-17.zip ;
578		InstallOptionalHaikuImagePackage
579			m4-1.4.16-r1a3-x86-gcc2-2011-05-17.zip
580			: $(baseURL)/m4-1.4.16-r1a3-x86-gcc2-2011-05-17.zip ;
581		InstallOptionalHaikuImagePackage
582			flex-2.5.35-r1a3-x86-gcc2-2011-05-17.zip
583			: $(baseURL)/flex-2.5.35-r1a3-x86-gcc2-2011-05-17.zip ;
584		InstallOptionalHaikuImagePackage
585			jam-2.5-r1a3-x86-gcc2-2011-05-17.zip
586			: $(baseURL)/jam-2.5-r1a3-x86-gcc2-2011-05-17.zip ;
587		InstallOptionalHaikuImagePackage
588			mkdepend-1.7-r1a3-x86-gcc2-2011-05-17.zip
589			: $(baseURL)/mkdepend-1.7-r1a3-x86-gcc2-2011-05-17.zip ;
590		InstallOptionalHaikuImagePackage
591			make-3.82-r1a3-x86-gcc2-2011-05-17.zip
592			: $(baseURL)/make-3.82-r1a3-x86-gcc2-2011-05-17.zip ;
593	}
594}
595
596
597# DevelopmentJava
598if [ IsOptionalHaikuImagePackageAdded DevelopmentJava ] {
599	if $(TARGET_ARCH) != x86 {
600		Echo "No optional package DevelopmentJava available for $(TARGET_ARCH)" ;
601	} else if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) {
602		Echo "No optional package DevelopmentJava available for gcc2" ;
603	} else {
604		InstallOptionalHaikuImagePackage
605			gnu-classpath-0.98-r1a3-x86-gcc4-2011-06-08.zip
606			: $(baseURL)/gnu-classpath-0.98-r1a3-x86-gcc4-2011-06-08.zip ;
607		InstallOptionalHaikuImagePackage
608			jamvm-1.5.4-r1a3-x86-gcc4-2011-06-08.zip
609			: $(baseURL)/jamvm-1.5.4-r1a3-x86-gcc4-2011-06-08.zip ;
610		AddSymlinkToHaikuImage common bin : /boot/common/bin/jamvm : java ;
611		InstallOptionalHaikuImagePackage
612			ecj-3.6.2-haiku-2011-06-08.zip
613			: $(baseURL)/ecj-3.6.2-haiku-2011-06-08.zip ;
614	}
615}
616
617
618# DevelopmentMin
619if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] && $(TARGET_ARCH) = x86 {
620	if ! ( $(HAIKU_GCC_VERSION[1]) in 2 4 ) {
621		Exit "Optional package DevelopmentMin: Unsupported GCC version:"
622			$(HAIKU_GCC_VERSION[1]) ;
623	}
624
625	local arch = $(TARGET_ARCH) ;
626	local abi = gcc$(HAIKU_GCC_VERSION[1]) ;
627	local abiDirTokens = develop abi $(arch) $(abi) ;
628
629	# glue code
630	AddFilesToHaikuHybridImage $(abiDirTokens) lib :
631		<src!system!glue!arch!$(arch)>crti.o
632		<src!system!glue!arch!$(arch)>crtn.o
633		<src!system!glue>init_term_dyn.o
634		<src!system!glue>start_dyn.o
635		<src!system!glue>haiku_version_glue.o
636	;
637
638	# kernel
639	AddFilesToHaikuHybridImage $(abiDirTokens) lib : kernel.so : _KERNEL_ ;
640
641	# additional libraries
642	local developmentLibs = <revisioned>libroot_debug.so ;
643	AddFilesToHaikuHybridImage system lib : $(developmentLibs) : : true ;
644
645	# library symlinks
646	local lib ;
647	for lib in $(SYSTEM_LIBS) $(SYSTEM_LIBS_LIBGL_ALIASES) $(developmentLibs) {
648		AddSymlinkToHaikuHybridImage $(abiDirTokens) lib
649			: /system/lib $(lib:BS) : : true ;
650		local abiVersion = [ on $(lib) return $(HAIKU_LIB_ABI_VERSION) ] ;
651		if $(abiVersion) {
652			local abiVersionedLib = $(lib:BS).$(abiVersion) ;
653			AddSymlinkToHaikuHybridImage $(abiDirTokens) lib
654				: /system/lib $(abiVersionedLib) : : true ;
655		}
656	}
657
658	# static libraries
659	AddFilesToHaikuHybridImage $(abiDirTokens) lib : libncurses.a ;
660	AddFilesToHaikuHybridImage $(abiDirTokens) lib : liblocalestub.a ;
661
662	# the POSIX error code mapper library
663	AddFilesToHaikuHybridImage $(abiDirTokens) lib : libposix_error_mapper.a ;
664
665	# symlinks for ABI abstraction
666	AddSymlinkToHaikuImage develop abi : $(arch)/$(abi) : current ;
667	AddSymlinkToHaikuImage develop lib : /boot/develop/abi/current/lib
668		: $(arch) ;
669	AddSymlinkToHaikuImage develop tools
670		: /boot/develop/abi/current/tools/current : gnupro ;
671	AddSymlinkToHaikuImage develop headers
672		: /boot/develop/abi/current/headers/cpp ;
673	AddSymlinkToHaikuHybridImage $(abiDirTokens) library-paths
674		: /boot/common/lib : common : true ;
675	AddSymlinkToHaikuHybridImage $(abiDirTokens) library-paths
676		: /boot/home/config/lib : home : true ;
677
678	# ABI independent stuff
679
680	# scripts: cc and c++ wrapper, freetype-config, setgcc
681	local scripts = cc c++ freetype-config setgcc ;
682	SEARCH on $(scripts) = [ FDirName $(HAIKU_TOP) data bin ] ;
683	AddFilesToHaikuImage system bin : $(scripts) ;
684
685	# skeleton makefile and makefile-engine
686	local makefileEngineFiles =
687		<makefile-engine>makefile
688		<makefile-engine>makefile-engine
689	;
690	SEARCH on $(makefileEngineFiles)
691		= [ FDirName $(HAIKU_TOP) data develop ] ;
692	AddFilesToHaikuImage develop etc : $(makefileEngineFiles) ;
693
694	# headers
695	AddHeaderDirectoryToHaikuImage config ;
696	AddHeaderDirectoryToHaikuImage glibc ;
697	AddHeaderDirectoryToHaikuImage os ;
698	AddHeaderDirectoryToHaikuImage posix ;
699
700	# create be -> os symlink for now
701	AddSymlinkToHaikuImage develop headers : os : be ;
702
703	# BSD and GNU compatibility headers
704	AddHeaderDirectoryToHaikuImage compatibility bsd : bsd ;
705	AddHeaderDirectoryToHaikuImage compatibility gnu : gnu ;
706
707	# third party libs headers
708	AddHeaderDirectoryToHaikuImage libs freetype2 : 3rdparty ;
709	AddHeaderDirectoryToHaikuImage libs jpeg : 3rdparty ;
710	AddHeaderDirectoryToHaikuImage libs ncurses : 3rdparty ;
711	AddHeaderDirectoryToHaikuImage libs png : 3rdparty ;
712	AddHeaderDirectoryToHaikuImage libs termcap : 3rdparty ;
713	AddHeaderDirectoryToHaikuImage libs tiff : 3rdparty ;
714	AddHeaderDirectoryToHaikuImage libs zlib : 3rdparty ;
715
716	# cpp headers
717	if $(HAIKU_GCC_VERSION[1]) = 2 {
718		# GCC 2 only -- for GCC 4 they come with the DevelopmentBase package
719		CopyDirectoryToHaikuImage $(abiDirTokens) headers
720			: [ FDirName $(HAIKU_TOP) headers cpp ] : : -x .svn ;
721		CopyDirectoryToAlternativeGCCArchive $(abiDirTokens) headers
722			: [ FDirName $(HAIKU_TOP) headers cpp ] : : -x .svn ;
723	}
724}
725
726
727# DMIDecode
728if [ IsOptionalHaikuImagePackageAdded DMIDecode ] {
729	if $(TARGET_ARCH) != x86 {
730		Echo "No optional package DMIDecode available for $(TARGET_ARCH)" ;
731	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
732		InstallOptionalHaikuImagePackage
733			dmidecode-2.11-x86-gcc4-2011-11-02.zip
734			: http://revolf.free.fr/beos/dmidecode-2.11-x86-gcc4-2011-11-02.zip ;
735	} else {
736		InstallOptionalHaikuImagePackage
737			dmidecode-2.11-x86-gcc2-2011-11-02.zip
738			: http://revolf.free.fr/beos/dmidecode-2.11-x86-gcc2-2011-11-02.zip ;
739	}
740}
741
742
743# Doxygen
744if [ IsOptionalHaikuImagePackageAdded Doxygen ] {
745	if $(TARGET_ARCH) != x86 {
746		Echo "No optional package Doxygen available for $(TARGET_ARCH)" ;
747	} else {
748		if $(HAIKU_GCC_VERSION[1]) >= 4 {
749			InstallOptionalHaikuImagePackage
750				doxygen-1.6.3-x86-gcc4-2010-05-17.zip
751				: $(baseURL)/doxygen-1.6.3-x86-gcc4-2010-05-17.zip
752				: : true ;
753		} else {
754			InstallOptionalHaikuImagePackage
755				doxygen-1.6.3-x86-gcc2-2010-05-17.zip
756				: $(baseURL)/doxygen-1.6.3-x86-gcc2-2010-05-17.zip
757				: : true ;
758		}
759	}
760}
761
762
763# Expat
764if [ IsOptionalHaikuImagePackageAdded Expat ] {
765	if $(TARGET_ARCH) != x86 {
766		Echo "No optional package Expat available for $(TARGET_ARCH)" ;
767	} else {
768		if $(HAIKU_GCC_VERSION[1]) >= 4 {
769			InstallOptionalHaikuImagePackage
770				expat-2.0.1-r1a3-x86-gcc4-2011-05-24.zip
771				: $(baseURL)/expat-2.0.1-r1a3-x86-gcc4-2011-05-24.zip
772				: : true ;
773		} else {
774			InstallOptionalHaikuImagePackage
775				expat-2.0.1-r1a3-x86-gcc2-2011-05-20.zip
776				: $(baseURL)/expat-2.0.1-r1a3-x86-gcc2-2011-05-20.zip
777				: : true ;
778		}
779	}
780}
781
782
783# Fastdep
784if [ IsOptionalHaikuImagePackageAdded Fastdep ] {
785	if $(TARGET_ARCH) != x86 {
786		Echo "No optional package Fastdep available for $(TARGET_ARCH)" ;
787	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
788		InstallOptionalHaikuImagePackage
789			fastdep-0.16-r1a3-x86-gcc4-2011-05-24.zip
790			: $(baseURL)/fastdep-0.16-r1a3-x86-gcc4-2011-05-24.zip ;
791	} else {
792		InstallOptionalHaikuImagePackage
793			fastdep-0.16-r1a3-x86-gcc2-2011-05-18.zip
794			: $(baseURL)/fastdep-0.16-r1a3-x86-gcc2-2011-05-18.zip ;
795	}
796}
797
798
799# friss
800if [ IsOptionalHaikuImagePackageAdded friss ] {
801	if $(TARGET_ARCH) != x86 {
802		Echo "No optional package friss available for $(TARGET_ARCH)" ;
803	} else {
804		if $(HAIKU_GCC_VERSION[1]) >= 4 {
805			InstallOptionalHaikuImagePackage
806				friss-24-r1a3-x86-gcc4-2011-05-31.zip
807				: $(baseURL)/friss-24-r1a3-x86-gcc4-2011-05-31.zip ;
808		} else {
809			InstallOptionalHaikuImagePackage
810				friss-24-r1a3-x86-gcc2-2011-05-31.zip
811				: $(baseURL)/friss-24-r1a3-x86-gcc2-2011-05-31.zip ;
812		}
813#		AddSymlinkToHaikuImage home config be Desktop\ applets
814#			: /boot/apps/FRiSS/FRiSS ;
815	}
816}
817
818
819# GetText
820if [ IsOptionalHaikuImagePackageAdded GetText ] {
821	if $(TARGET_ARCH) != x86 {
822		Echo "No optional package GetText available for $(TARGET_ARCH)" ;
823	} else {
824		if $(HAIKU_GCC_VERSION[1]) >= 4 {
825			InstallOptionalHaikuImagePackage
826				gettext-0.18.1.1-r1a3-x86-gcc4-2011-05-24.zip
827				: $(baseURL)/gettext-0.18.1.1-r1a3-x86-gcc4-2011-05-24.zip
828				: : true ;
829		} else {
830			InstallOptionalHaikuImagePackage
831				gettext-0.18.1.1-x86-gcc2-2011-02-07.zip
832				: $(baseURL)/gettext-0.18.1.1-x86-gcc2-2011-02-07.zip
833				: : true ;
834		}
835	}
836}
837
838
839# Git
840if [ IsOptionalHaikuImagePackageAdded Git ] {
841	if $(TARGET_ARCH) != x86 {
842		Echo "No optional package Git available for $(TARGET_ARCH)" ;
843	} else {
844		if $(HAIKU_GCC_VERSION[1]) >= 4 {
845			InstallOptionalHaikuImagePackage
846				git-1.7.5-r1a3-x86-gcc4-2011-05-24.zip
847				: $(baseURL)/git-1.7.5-r1a3-x86-gcc4-2011-05-24.zip
848				: : true ;
849		} else {
850			InstallOptionalHaikuImagePackage
851				git-1.7.5-r1a3-x86-gcc2-2011-05-18.zip
852				: $(baseURL)/git-1.7.5-r1a3-x86-gcc2-2011-05-18.zip
853				: : true ;
854		}
855	}
856}
857
858
859# GPerf
860if [ IsOptionalHaikuImagePackageAdded GPerf ] {
861	if $(TARGET_ARCH) != x86 {
862		Echo "No optional package GPerf available for $(TARGET_ARCH)" ;
863	} else {
864		if $(HAIKU_GCC_VERSION[1]) >= 4 {
865			InstallOptionalHaikuImagePackage
866				gperf-3.0.4-r1a3-x86-gcc4-2011-05-24.zip
867				: $(baseURL)/gperf-3.0.4-r1a3-x86-gcc4-2011-05-24.zip
868				: : true ;
869		} else {
870			InstallOptionalHaikuImagePackage
871				gperf-3.0.4-r1a3-x86-gcc2-2011-05-18.zip
872				: $(baseURL)/gperf-3.0.4-r1a3-x86-gcc2-2011-05-18.zip
873				: : true ;
874		}
875	}
876}
877
878
879# Groff
880if [ IsOptionalHaikuImagePackageAdded Groff ] {
881	if $(TARGET_ARCH) != x86 {
882		Echo "No optional package Groff available for $(TARGET_ARCH)" ;
883	} else {
884		if $(HAIKU_GCC_VERSION[1]) >= 4 {
885			InstallOptionalHaikuImagePackage
886				groff-1.20.1-r1a3-x86-gcc4-2011-05-24.zip
887				: $(baseURL)/groff-1.20.1-r1a3-x86-gcc4-2011-05-24.zip
888				: : true ;
889		} else {
890			InstallOptionalHaikuImagePackage
891				 groff-1.20.1-r1a3-x86-gcc2-2011-05-18.zip
892				: $(baseURL)/groff-1.20.1-r1a3-x86-gcc2-2011-05-18.zip
893				: : true ;
894		}
895	}
896}
897
898
899# ICU
900if [ IsOptionalHaikuImagePackageAdded ICU ] {
901	if $(TARGET_ARCH) != x86 {
902		Echo "No optional package ICU available for $(TARGET_ARCH)" ;
903	} else {
904		if $(HAIKU_GCC_VERSION[1]) = 2 {
905			# unzip gcc2
906			InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_2_PACKAGE)
907				: $(baseURL)/$(HAIKU_ICU_GCC_2_PACKAGE)
908				: system lib ;
909			if $(isHybridBuild) {
910				# unzip gcc4 to gcc4 subdir
911				InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_4_PACKAGE)
912					: $(baseURL)/$(HAIKU_ICU_GCC_4_PACKAGE)
913					: system lib gcc4 ;
914			}
915		} else {
916			# unzip gcc4
917			InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_4_PACKAGE)
918				: $(baseURL)/$(HAIKU_ICU_GCC_4_PACKAGE)
919				: system lib ;
920			if $(isHybridBuild) {
921				# unzip gcc2 to gcc2 subdir
922				InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_2_PACKAGE)
923					: $(baseURL)/$(HAIKU_ICU_GCC_2_PACKAGE)
924					: system lib gcc2 ;
925			}
926		}
927	}
928}
929
930
931# ICU-devel
932if [ IsOptionalHaikuImagePackageAdded ICU-devel ] {
933	InstallOptionalHaikuImagePackage $(HAIKU_ICU_DEVEL_PACKAGE)
934		: $(baseURL)/$(HAIKU_ICU_DEVEL_PACKAGE) ;
935
936	local arch = $(TARGET_ARCH) ;
937	local abi = gcc$(HAIKU_GCC_VERSION[1]) ;
938	for abiVersionedLib in $(HAIKU_ICU_LIBS) {
939		abiVersionedLib = $(abiVersionedLib:B:G=) ;
940		local lib = $(abiVersionedLib:B) ;
941		AddSymlinkToHaikuHybridImage develop abi $(arch) $(abi) lib
942			: /system/lib $(abiVersionedLib) : : true ;
943		AddSymlinkToHaikuHybridImage develop abi $(arch) $(abi) lib
944			: $(abiVersionedLib) : $(lib) ;
945	}
946}
947
948
949# KeymapSwitcher
950if [ IsOptionalHaikuImagePackageAdded KeymapSwitcher ] {
951	if $(TARGET_ARCH) != x86 {
952		Echo "No optional package KeymapSwitcher available for $(TARGET_ARCH)" ;
953	} else {
954		if $(HAIKU_GCC_VERSION[1]) >= 4 {
955			InstallOptionalHaikuImagePackage
956				KeymapSwitcher-1.2.6-r1a3-x86-gcc4-2011-06-12.zip
957				: $(baseURL)/KeymapSwitcher-1.2.6-r1a3-x86-gcc4-2011-06-12.zip ;
958		} else {
959			InstallOptionalHaikuImagePackage
960				KeymapSwitcher-1.2.6-r1a3-x86-gcc2-2011-06-12.zip
961				: $(baseURL)/KeymapSwitcher-1.2.6-r1a3-x86-gcc2-2011-06-12.zip ;
962		}
963		AddSymlinkToHaikuImage home config be Preferences
964			: /boot/common/bin/KeymapSwitcher ;
965	}
966}
967
968
969# LibEvent
970if [ IsOptionalHaikuImagePackageAdded LibEvent ] {
971	if $(TARGET_ARCH) != x86 {
972		Echo "No optional package LibEvent available for $(TARGET_ARCH)" ;
973	} else {
974		if $(HAIKU_GCC_VERSION[1]) >= 4 {
975			InstallOptionalHaikuImagePackage
976				libevent-2.0.10-r1a3-x86-gcc4-2011-05-24.zip
977				: $(baseURL)/lib/libevent-2.0.10-r1a3-x86-gcc4-2011-05-24.zip
978				: : true ;
979		} else {
980			InstallOptionalHaikuImagePackage
981				libevent-2.0.10-r1a3-x86-gcc2-2011-05-18.zip
982				: $(baseURL)/lib/libevent-2.0.10-r1a3-x86-gcc2-2011-05-18.zip
983				: : true ;
984		}
985	}
986}
987
988
989# LibIconv
990if [ IsOptionalHaikuImagePackageAdded LibIconv ] {
991	if $(TARGET_ARCH) != x86 {
992		Echo "No optional package LibIconv available for $(TARGET_ARCH)" ;
993	} else {
994		if $(HAIKU_GCC_VERSION[1]) >= 4 {
995			InstallOptionalHaikuImagePackage
996				libiconv-1.13.1-r1a3-x86-gcc4-2011-05-24.zip
997				: $(baseURL)/libiconv-1.13.1-r1a3-x86-gcc4-2011-05-24.zip ;
998		} else {
999			InstallOptionalHaikuImagePackage
1000				libiconv-1.13.1-r1a3-x86-gcc2-2011-05-18.zip
1001				: $(baseURL)/libiconv-1.13.1-r1a3-x86-gcc2-2011-05-18.zip ;
1002		}
1003	}
1004}
1005
1006
1007# LibLayout library
1008if [ IsOptionalHaikuImagePackageAdded LibLayout ] {
1009	if $(TARGET_ARCH) != x86 {
1010		Echo "No optional package LibLayout available for $(TARGET_ARCH)" ;
1011	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
1012		Echo "No optional package LibLayout available for gcc4" ;
1013	} else {
1014		InstallOptionalHaikuImagePackage liblayout-1.4.0-gcc2-2009-03-08.zip
1015			: $(baseURL)/liblayout-1.4.0-gcc2-2009-03-08.zip ;
1016	}
1017}
1018
1019
1020# Libmng library
1021if [ IsOptionalHaikuImagePackageAdded Libmng ] {
1022	if $(TARGET_ARCH) != x86 {
1023		Echo "No optional package Libmng available for $(TARGET_ARCH)" ;
1024	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
1025		InstallOptionalHaikuImagePackage
1026			libmng-1.0.10-r1a3-x86-gcc4-2011-05-24.zip
1027			: $(baseURL)/lib/libmng-1.0.10-r1a3-x86-gcc4-2011-05-24.zip ;
1028	} else {
1029		InstallOptionalHaikuImagePackage
1030			libmng-1.0.10-r1a3-x86-gcc2-2011-05-18.zip
1031			: $(baseURL)/lib/libmng-1.0.10-r1a3-x86-gcc2-2011-05-18.zip ;
1032	}
1033}
1034
1035
1036# LibXML2
1037if [ IsOptionalHaikuImagePackageAdded LibXML2 ] {
1038	if $(TARGET_ARCH) != x86 {
1039		Echo "No optional package LibXML2 available for $(TARGET_ARCH)" ;
1040	} else {
1041		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1042			InstallOptionalHaikuImagePackage
1043				libxml2-2.7.8-r1a3-x86-gcc4-2011-05-24.zip
1044				: $(baseURL)/libxml2-2.7.8-r1a3-x86-gcc4-2011-05-24.zip ;
1045		} else {
1046			InstallOptionalHaikuImagePackage
1047				libxml2-2.7.8-r1a3-x86-gcc2-2011-05-18.zip
1048				: $(baseURL)/libxml2-2.7.8-r1a3-x86-gcc2-2011-05-18.zip ;
1049		}
1050	}
1051}
1052
1053
1054# LibXSLT
1055if [ IsOptionalHaikuImagePackageAdded LibXSLT ] {
1056	if $(TARGET_ARCH) != x86 {
1057		Echo "No optional package LibXSLT available for $(TARGET_ARCH)" ;
1058	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
1059		InstallOptionalHaikuImagePackage
1060			libxslt-1.1.26-r1a3-x86-gcc4-2011-05-24.zip
1061			: $(baseURL)/libxslt-1.1.26-r1a3-x86-gcc4-2011-05-24.zip ;
1062	} else {
1063		InstallOptionalHaikuImagePackage
1064			libxslt-1.1.26-r1a3-x86-gcc2-2011-05-18.zip
1065			: $(baseURL)/libxslt-1.1.26-r1a3-x86-gcc2-2011-05-18.zip
1066			: : true ;
1067	}
1068}
1069
1070
1071# Links web browser
1072if [ IsOptionalHaikuImagePackageAdded Links ] {
1073	if $(TARGET_ARCH) != x86 {
1074		Echo "No optional package Links available for $(TARGET_ARCH)" ;
1075	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
1076		Echo "No optional package Links available for gcc4" ;
1077	} else {
1078		InstallOptionalHaikuImagePackage Links.zip
1079			: $(baseURL)/links-x86-gcc2-2008-05-03.zip ;
1080		AddSymlinkToHaikuImage home config be Applications
1081			: /boot/home/config/bin/links ;
1082	}
1083}
1084
1085
1086# Lua
1087if [ IsOptionalHaikuImagePackageAdded Lua ] {
1088	if $(TARGET_ARCH) != x86 {
1089		Echo "No optional package Lua available for $(TARGET_ARCH)" ;
1090	} else {
1091		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1092			InstallOptionalHaikuImagePackage
1093				lua-5.1.4-x86-gcc4-2010-10-30.zip
1094				: $(baseURL)/lua-5.1.4-x86-gcc4-2010-10-30.zip
1095				: : true ;
1096		} else {
1097			InstallOptionalHaikuImagePackage
1098				lua-5.1.4-3-r1a3-x86-gcc2-2011-05-18.zip
1099				: $(baseURL)/lua-5.1.4-3-r1a3-x86-gcc2-2011-05-18.zip
1100				: : true ;
1101		}
1102	}
1103}
1104
1105
1106# Man
1107if [ IsOptionalHaikuImagePackageAdded Man ] {
1108	if $(TARGET_ARCH) != x86 {
1109		Echo "No optional package Man available for $(TARGET_ARCH)" ;
1110	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
1111		InstallOptionalHaikuImagePackage
1112			 man-1.6f-r1a3-x86-gcc4-2011-05-24.zip
1113			: $(baseURL)/man-1.6f-r1a3-x86-gcc4-2011-05-24.zip ;
1114	} else {
1115		InstallOptionalHaikuImagePackage
1116			 man-1.6f-r1a3-x86-gcc2-2011-05-18.zip
1117			: $(baseURL)/man-1.6f-r1a3-x86-gcc2-2011-05-18.zip ;
1118	}
1119}
1120
1121
1122# MandatoryPackages
1123if [ IsOptionalHaikuImagePackageAdded MandatoryPackages ] {
1124	# Pseudo package for grouping packages, which are added to all images.
1125}
1126
1127
1128# Mercurial
1129if [ IsOptionalHaikuImagePackageAdded Mercurial ] {
1130	if $(TARGET_ARCH) != x86 {
1131		Echo "No optional package Mercurial available for $(TARGET_ARCH)" ;
1132	} else {
1133		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1134			InstallOptionalHaikuImagePackage
1135				mercurial-1.8.3-r1a3-x86-gcc4-2011-05-24.zip
1136				: $(baseURL)/mercurial-1.8.3-r1a3-x86-gcc4-2011-05-24.zip
1137				: : true ;
1138		} else {
1139			InstallOptionalHaikuImagePackage
1140				mercurial-1.8.3-r1a3-x86-gcc2-2011-05-17.zip
1141				: $(baseURL)/mercurial-1.8.3-r1a3-x86-gcc2-2011-05-17.zip
1142				: : true ;
1143		}
1144	}
1145}
1146
1147
1148# Nano
1149if [ IsOptionalHaikuImagePackageAdded Nano ] {
1150	if $(TARGET_ARCH) != x86 {
1151		Echo "No optional package Nano available for $(TARGET_ARCH)" ;
1152	} else {
1153		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1154			InstallOptionalHaikuImagePackage
1155				nano-2.2.6-r1a3-x86-gcc4-2011-05-24.zip
1156				: $(baseURL)/nano-2.2.6-r1a3-x86-gcc4-2011-05-24.zip ;
1157		} else {
1158			InstallOptionalHaikuImagePackage
1159				nano-2.2.6-r1a3-x86-gcc2-2011-05-18.zip
1160				: $(baseURL)/nano-2.2.6-r1a3-x86-gcc2-2011-05-18.zip ;
1161		}
1162	}
1163}
1164
1165
1166# Neon
1167if [ IsOptionalHaikuImagePackageAdded Neon ] {
1168	if $(TARGET_ARCH) != x86 {
1169		Echo "No optional package Neon available for $(TARGET_ARCH)" ;
1170	} else {
1171		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1172			InstallOptionalHaikuImagePackage
1173				neon-0.29.6-r1a3-x86-gcc4-2011-05-24.zip
1174				: $(baseURL)/neon-0.29.6-r1a3-x86-gcc4-2011-05-24.zip ;
1175		} else {
1176			InstallOptionalHaikuImagePackage
1177				neon-0.29.6-r1a3-x86-gcc2-2011-05-18.zip
1178				: $(baseURL)/neon-0.29.6-r1a3-x86-gcc2-2011-05-18.zip ;
1179		}
1180	}
1181}
1182
1183
1184# NetFS network file system
1185if [ IsOptionalHaikuImagePackageAdded NetFS ] {
1186	# userlandfs module
1187	AddFilesToHaikuImage home config add-ons userlandfs : netfs ;
1188
1189	# servers
1190	AddFilesToHaikuImage system servers : netfs_server ;
1191	AddFilesToHaikuImage system servers : authentication_server ;
1192
1193	# tools
1194	AddFilesToHaikuImage system bin : netfs_config ;
1195	AddFilesToHaikuImage system bin : netfs_server_prefs ;
1196
1197	#example settings for netfs_server
1198	local netfsServerSettingsFiles = <driver-settings>netfs-server ;
1199	SEARCH on $(netfsServerSettingsFiles)
1200		= [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems netfs ] ;
1201	AddFilesToHaikuImage home config settings kernel drivers
1202	: $(netfsServerSettingsFiles) ;
1203
1204	#userlandfs settings are needed for netfs_config to work (ioctls)
1205	local userlandfsServerSettingsFiles = <driver-settings>userlandfs ;
1206	SEARCH on $(userlandfsServerSettingsFiles)
1207		= [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems userlandfs ] ;
1208	AddFilesToHaikuImage home config settings kernel drivers
1209	: $(userlandfsServerSettingsFiles) ;
1210}
1211
1212
1213# NetSurf web browser
1214if [ IsOptionalHaikuImagePackageAdded NetSurf ] {
1215	if $(TARGET_ARCH) != x86 {
1216		Echo "No optional package NetSurf available for $(TARGET_ARCH)" ;
1217	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
1218		Echo "No optional package NetSurf available for gcc4" ;
1219	} else {
1220		InstallOptionalHaikuImagePackage
1221			netsurf-2.7-r1a3-x86-gcc2-2011-06-04.zip
1222			: $(baseURL)/netsurf-2.7-r1a3-x86-gcc2-2011-06-04.zip ;
1223		AddSymlinkToHaikuImage home config be Applications
1224			: /boot/apps/NetSurf/NetSurf ;
1225	}
1226}
1227
1228
1229# OCaml
1230if [ IsOptionalHaikuImagePackageAdded OCaml ] {
1231	if $(TARGET_ARCH) != x86 {
1232		Echo "No optional package OCaml available for $(TARGET_ARCH)" ;
1233	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
1234		Echo "No optional package OCaml available for gcc4" ;
1235	} else {
1236		InstallOptionalHaikuImagePackage
1237			ocaml-3.11.1-r1a1-x86-gcc2-2009-09-06.zip
1238			: $(baseURL)/ocaml-3.11.1-r1a1-x86-gcc2-2009-09-06.zip ;
1239		InstallOptionalHaikuImagePackage
1240			camlp5-5.12-r1a1-x86-gcc2-2009-09-06.zip
1241			: $(baseURL)/camlp5-5.12-r1a1-x86-gcc2-2009-09-06.zip ;
1242	}
1243}
1244
1245
1246# OpenSound drivers
1247if [ IsOptionalHaikuImagePackageAdded OpenSound ] {
1248	if $(TARGET_ARCH) != x86 {
1249		Echo "No optional package OpenSound available for $(TARGET_ARCH)" ;
1250	} else {
1251		InstallOptionalHaikuImagePackage
1252			opensound-4.2-r1a2-x86-gcc2-2010-05-01.zip
1253			: $(baseURL)/opensound-4.2-r1a2-x86-gcc2-2010-05-01.zip ;
1254	}
1255}
1256
1257
1258# OpenSSH
1259if [ IsOptionalHaikuImagePackageAdded OpenSSH ] {
1260	if $(TARGET_ARCH) != x86 {
1261		Echo "No optional package OpenSSH available for $(TARGET_ARCH)" ;
1262	} else {
1263		if ! $(HAIKU_IMAGE_HOST_NAME) && ! $(HAIKU_IGNORE_USER_BUILD_CONFIG) {
1264			Exit "Optional package OpenSSH requires the HAIKU_IMAGE_HOST_NAME"
1265				"variable to be set!" ;
1266		}
1267
1268		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1269			InstallOptionalHaikuImagePackage
1270				openssh-5.9p1-x86-gcc4-2011-09-08.zip
1271				: $(baseURL)/openssh-5.9p1-x86-gcc4-2011-09-08.zip ;
1272		} else {
1273			InstallOptionalHaikuImagePackage
1274				openssh-5.9p1-x86-gcc2-2011-09-09.zip
1275				: $(baseURL)/openssh-5.9p1-x86-gcc2-2011-09-09.zip ;
1276		}
1277
1278		AddUserToHaikuImage sshd : 1001 : 100 : /var/empty : /bin/true
1279			: "sshd user" ;
1280	}
1281}
1282
1283
1284# OpenSSL
1285if [ IsOptionalHaikuImagePackageAdded OpenSSL ] {
1286	if $(TARGET_ARCH) != x86 {
1287		Echo "No optional package OpenSSL available for $(TARGET_ARCH)" ;
1288	} else {
1289		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1290			InstallOptionalHaikuImagePackage $(HAIKU_OPENSSL_PACKAGE)
1291				: $(HAIKU_OPENSSL_URL) ;
1292		} else {
1293			InstallOptionalHaikuImagePackage $(HAIKU_OPENSSL_PACKAGE)
1294				: $(HAIKU_OPENSSL_URL) ;
1295		}
1296	}
1297}
1298
1299
1300# P7zip
1301if [ IsOptionalHaikuImagePackageAdded P7zip ] {
1302	if $(TARGET_ARCH) != x86 {
1303		Echo "No optional package P7zip available for $(TARGET_ARCH)" ;
1304	} else {
1305		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1306			InstallOptionalHaikuImagePackage
1307				p7zip-9.13-r1a3-x86-gcc4-2011-05-24.zip
1308				: $(baseURL)/p7zip-9.13-r1a3-x86-gcc4-2011-05-24.zip ;
1309		} else {
1310			InstallOptionalHaikuImagePackage
1311				p7zip-9.13-r1a3-x86-gcc2-2011-05-18.zip
1312				: $(baseURL)/p7zip-9.13-r1a3-x86-gcc2-2011-05-18.zip ;
1313		}
1314		AddExpanderRuleToHaikuImage "application/x-7z-compressed" : .7z
1315			: "7za l \\0045s"
1316			: "7za x -y \\0045s"
1317		;
1318
1319	}
1320}
1321
1322
1323# Paladin
1324if [ IsOptionalHaikuImagePackageAdded Paladin ] {
1325	if $(TARGET_ARCH) != x86 {
1326		Echo "No optional package Paladin available for $(TARGET_ARCH)" ;
1327	} else {
1328		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1329			InstallOptionalHaikuImagePackage
1330				paladin-1.3-r1a3-x86-gcc4-2011-05-24.zip
1331				: $(baseURL)/paladin-1.3-r1a3-x86-gcc4-2011-05-24.zip ;
1332		} else {
1333			InstallOptionalHaikuImagePackage
1334				paladin-1.3-r1a3-x86-gcc2-2011-05-18.zip
1335				: $(baseURL)/paladin-1.3-r1a3-x86-gcc2-2011-05-18.zip ;
1336		}
1337
1338		AddSymlinkToHaikuImage home config be Applications
1339			: /boot/apps/Paladin/Paladin ;
1340		AddSymlinkToHaikuImage common bin
1341			: /boot/apps/Paladin/Paladin ;
1342	}
1343}
1344
1345
1346# PCRE regex engine
1347if [ IsOptionalHaikuImagePackageAdded PCRE ] {
1348	if $(TARGET_ARCH) != x86 {
1349		Echo "No optional package PCRE available for $(TARGET_ARCH)" ;
1350	} else {
1351		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1352			InstallOptionalHaikuImagePackage
1353				libpcre-8.12-r1a3-x86-gcc4-2011-05-24.zip
1354				: $(baseURL)/libpcre-8.12-r1a3-x86-gcc4-2011-05-24.zip ;
1355		} else {
1356			InstallOptionalHaikuImagePackage
1357				libpcre-8.12-r1a3-x86-gcc2-2011-05-17.zip
1358				: $(baseURL)/libpcre-8.12-r1a3-x86-gcc2-2011-05-17.zip ;
1359		}
1360	}
1361}
1362
1363
1364# Pe text editor
1365if [ IsOptionalHaikuImagePackageAdded Pe ] {
1366	if $(TARGET_ARCH) != x86 {
1367		Echo "No optional package Pe available for $(TARGET_ARCH)" ;
1368	} else {
1369		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1370			InstallOptionalHaikuImagePackage
1371				pe-2.4.3-600-r1a3-x86-gcc4-2011-05-24.zip
1372				: $(baseURL)/pe-2.4.3-600-r1a3-x86-gcc4-2011-05-24.zip ;
1373		} else {
1374			InstallOptionalHaikuImagePackage
1375				pe-2.4.3-600-r1a3-x86-gcc2-2011-05-18.zip
1376				: $(baseURL)/pe-2.4.3-600-r1a3-x86-gcc2-2011-05-18.zip ;
1377		}
1378		AddSymlinkToHaikuImage home config be Applications
1379			: /boot/apps/Pe/Pe ;
1380		AddSymlinkToHaikuImage common bin
1381			: /boot/apps/Pe/lpe ;
1382	}
1383}
1384
1385
1386# Perl
1387if [ IsOptionalHaikuImagePackageAdded Perl ] {
1388	if $(TARGET_ARCH) != x86 {
1389		Echo "No optional package Perl available for $(TARGET_ARCH)" ;
1390	} else {
1391		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1392			InstallOptionalHaikuImagePackage
1393				perl-5.10.1-r1a3-x86-gcc4-2011-05-24.zip
1394				: $(baseURL)/perl-5.10.1-r1a3-x86-gcc4-2011-05-24.zip
1395				: : true ;
1396		} else {
1397			InstallOptionalHaikuImagePackage
1398				perl-5.10.1-r1a3-x86-gcc2-2011-05-17.zip
1399				: $(baseURL)/perl-5.10.1-r1a3-x86-gcc2-2011-05-17.zip
1400				: : true ;
1401		}
1402	}
1403}
1404
1405
1406# Python
1407if [ IsOptionalHaikuImagePackageAdded Python ] {
1408	if $(TARGET_ARCH) != x86 {
1409		Echo "No optional package Python available for $(TARGET_ARCH)" ;
1410	} else {
1411		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1412			InstallOptionalHaikuImagePackage
1413				python-2.6.7-x86-gcc4-2011-06-24.zip
1414				: $(baseURL)/python-2.6.7-x86-gcc4-2011-06-24.zip
1415				: : true ;
1416		} else {
1417			InstallOptionalHaikuImagePackage
1418				python-2.6.7-x86-gcc2-2011-06-24.zip
1419				: $(baseURL)/python-2.6.7-x86-gcc2-2011-06-24.zip
1420				: : true ;
1421		}
1422	}
1423}
1424
1425
1426# Rsync
1427if [ IsOptionalHaikuImagePackageAdded Rsync ] {
1428	if $(TARGET_ARCH) != x86 {
1429		Echo "No optional package Rsync available for $(TARGET_ARCH)" ;
1430	} else {
1431		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1432			InstallOptionalHaikuImagePackage
1433				rsync-3.0.7-r1a3-x86-gcc4-2011-05-24.zip
1434				: $(baseURL)/rsync-3.0.7-r1a3-x86-gcc4-2011-05-24.zip
1435				: : true ;
1436		} else {
1437			InstallOptionalHaikuImagePackage
1438				rsync-3.0.7-r1a3-x86-gcc2-2011-05-18.zip
1439				: $(baseURL)/rsync-3.0.7-r1a3-x86-gcc2-2011-05-18.zip
1440				: : true ;
1441		}
1442	}
1443}
1444
1445
1446# Ruby
1447if [ IsOptionalHaikuImagePackageAdded Ruby ] {
1448	if $(TARGET_ARCH) != x86 {
1449		Echo "No optional package Ruby available for $(TARGET_ARCH)" ;
1450	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
1451		InstallOptionalHaikuImagePackage
1452			ruby-1.9.1-r1a3-x86-gcc4-2011-05-24.zip
1453			: $(baseURL)/ruby-1.9.1-r1a3-x86-gcc4-2011-05-24.zip ;
1454	} else {
1455		InstallOptionalHaikuImagePackage
1456			ruby-1.9.1-r1a3-x86-gcc2-2011-05-31.zip
1457			: $(baseURL)/ruby-1.9.1-r1a3-x86-gcc2-2011-06-01.zip ;
1458	}
1459}
1460
1461
1462# Sed
1463if [ IsOptionalHaikuImagePackageAdded Sed ] {
1464	if $(TARGET_ARCH) != x86 {
1465		Echo "No optional package Sed available for $(TARGET_ARCH)" ;
1466	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
1467		InstallOptionalHaikuImagePackage
1468			sed-4.2.1-r1a3-x86-gcc4-2011-05-24.zip
1469			: $(baseURL)/sed-4.2.1-r1a3-x86-gcc4-2011-05-24.zip ;
1470	} else {
1471		InstallOptionalHaikuImagePackage
1472			sed-4.2.1-r1a3-x86-gcc2-2011-05-17.zip
1473			: $(baseURL)/sed-4.2.1-r1a3-x86-gcc2-2011-05-17.zip ;
1474	}
1475}
1476
1477
1478# SQLite
1479if [ IsOptionalHaikuImagePackageAdded SQLite ] {
1480	if $(TARGET_ARCH) != x86 {
1481		Echo "No optional package SQLite available for $(TARGET_ARCH)" ;
1482	} else {
1483		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1484			InstallOptionalHaikuImagePackage
1485				sqlite-3.7.5-r1a3-x86-gcc4-2011-05-24.zip
1486				: $(baseURL)/sqlite-3.7.5-r1a3-x86-gcc4-2011-05-24.zip ;
1487		} else {
1488			InstallOptionalHaikuImagePackage
1489				sqlite-3.7.5-r1a3-x86-gcc2-2011-05-17.zip
1490				: $(baseURL)/sqlite-3.7.5-r1a3-x86-gcc2-2011-05-17.zip ;
1491		}
1492	}
1493}
1494
1495
1496# Subversion
1497if [ IsOptionalHaikuImagePackageAdded Subversion ] {
1498	if $(TARGET_ARCH) != x86 {
1499		Echo "No optional package Subversion available for $(TARGET_ARCH)" ;
1500	} else {
1501		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1502			InstallOptionalHaikuImagePackage
1503				subversion-1.6.17-x86-gcc4-2011-08-03.zip
1504				: $(baseURL)/subversion-1.6.17-x86-gcc4-2011-08-03.zip
1505				: : true ;
1506		} else {
1507			InstallOptionalHaikuImagePackage
1508				subversion-1.6.17-x86-gcc2-2011-08-02.zip
1509				: $(baseURL)/subversion-1.6.17-x86-gcc2-2011-08-02.zip
1510				: : true ;
1511		}
1512	}
1513}
1514
1515
1516# TagLib
1517if [ IsOptionalHaikuImagePackageAdded TagLib ] {
1518	if $(TARGET_ARCH) != x86 {
1519		Echo "No optional package TagLib available for $(TARGET_ARCH)" ;
1520	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
1521		InstallOptionalHaikuImagePackage
1522			taglib-1.6.3-r1r3-x86-gcc4-2011-05-24.zip
1523			: $(baseURL)/taglib-1.6.3-r1r3-x86-gcc4-2011-05-24.zip ;
1524	} else {
1525		InstallOptionalHaikuImagePackage
1526			taglib-1.6.3-r1a3-x86-gcc2-2011-05-20.zip
1527			: $(baseURL)/taglib-1.6.3-r1a3-x86-gcc2-2011-05-20.zip ;
1528	}
1529}
1530
1531
1532# Tar
1533if [ IsOptionalHaikuImagePackageAdded Tar ] {
1534	if $(TARGET_ARCH) != x86 {
1535		Echo "No optional package Tar available for $(TARGET_ARCH)" ;
1536	} else {
1537		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1538			InstallOptionalHaikuImagePackage
1539				tar-1.25-r1a3-x86-gcc4-2011-05-24.zip
1540				: $(baseURL)/tar-1.25-r1a3-x86-gcc4-2011-05-24.zip ;
1541		} else {
1542			InstallOptionalHaikuImagePackage
1543				tar-1.25-r1a3-x86-gcc2-2011-05-20.zip
1544				: $(baseURL)/tar-1.25-r1a3-x86-gcc2-2011-05-20.zip ;
1545		}
1546	}
1547}
1548
1549
1550# TimGMSoundFont
1551if [ IsOptionalHaikuImagePackageAdded TimGMSoundFont ] {
1552	InstallOptionalHaikuImagePackage TimGMSoundFont-2010-06-16.zip
1553		: $(baseURL)/TimGMSoundFont-2010-06-16.zip ;
1554}
1555
1556
1557# TrackerNewTemplates
1558if [ IsOptionalHaikuImagePackageAdded TrackerNewTemplates ] {
1559	InstallOptionalHaikuImagePackage TrackerNewTemplates-2010-04-26.zip
1560		: $(baseURL)/TrackerNewTemplates-2010-04-26.zip
1561		: home config settings Tracker "Tracker New Templates"
1562	;
1563}
1564
1565
1566# Transmission
1567if [ IsOptionalHaikuImagePackageAdded Transmission ] {
1568	if $(TARGET_ARCH) != x86 {
1569		Echo "No optional package Transmission available for $(TARGET_ARCH)" ;
1570	} else {
1571		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1572			InstallOptionalHaikuImagePackage
1573				transmission-2.21-r1a3-x86-gcc4-2011-05-27.zip
1574				: $(baseURL)/transmission-2.21-r1a3-x86-gcc4-2011-05-27.zip
1575				: : true ;
1576		} else {
1577			InstallOptionalHaikuImagePackage
1578				transmission-2.21-r1a3-x86-gcc2-2011-05-27.zip
1579				: $(baseURL)/transmission-2.21-r1a3-x86-gcc2-2011-05-27.zip
1580				: : true ;
1581		}
1582	}
1583}
1584
1585
1586# UserlandFS
1587if [ IsOptionalHaikuImagePackageAdded UserlandFS ] {
1588	local arch = $(TARGET_ARCH) ;
1589	local abi = gcc$(HAIKU_GCC_VERSION[1]) ;
1590
1591	# kernel module
1592	AddFilesToHaikuImage system add-ons kernel file_systems : userlandfs ;
1593
1594	# server
1595	AddFilesToHaikuImage system servers : userlandfs_server ;
1596
1597	# libs
1598	local userlandfsLibs =
1599		libuserlandfs_beos_kernel.so
1600		libuserlandfs_haiku_kernel.so
1601		libuserlandfs_fuse.so
1602	;
1603	AddFilesToHaikuHybridImage system lib : $(userlandfsLibs) : : true ;
1604
1605	# development goodies
1606	if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] {
1607		if ! ( $(HAIKU_GCC_VERSION[1]) in 2 4 ) {
1608			Exit "Optional package UserlandFS: Unsupported GCC version:"
1609				$(HAIKU_GCC_VERSION[1]) ;
1610		}
1611
1612		# library symlinks
1613		local lib ;
1614		for lib in $(userlandfsLibs) {
1615			AddSymlinkToHaikuImage develop abi $(arch) $(abi) lib
1616				: /system/lib/$(lib:BS) ;
1617			AddSymlinkToAlternativeGCCArchive develop abi $(arch) $(abi) lib
1618				: /system/lib/$(arch)/$(lib:BS) ;
1619		}
1620
1621		# FUSE headers
1622		local fuseHeaders =
1623			fuse_common_compat.h
1624			fuse_common.h
1625			fuse_compat.h
1626			fuse.h
1627			fuse_lowlevel_compat.h
1628			fuse_lowlevel.h
1629			fuse_opt.h
1630		;
1631		fuseHeaders = $(fuseHeaders:G=userlandfs!fuse) ;
1632		SEARCH on $(fuseHeaders)
1633			= [ FDirName $(HAIKU_TOP) headers private userlandfs fuse ] ;
1634		AddFilesToHaikuImage develop headers userlandfs fuse : $(fuseHeaders) ;
1635	}
1636}
1637
1638
1639# Vim
1640if [ IsOptionalHaikuImagePackageAdded Vim ] {
1641	if $(TARGET_ARCH) != x86 {
1642		Echo "No optional package Vim available for $(TARGET_ARCH)" ;
1643	} else {
1644		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1645			InstallOptionalHaikuImagePackage vim-7.3-r1a3-x86-gcc4-2011-05-26.zip
1646				:  $(baseURL)/vim-7.3-r1a3-x86-gcc4-2011-05-26.zip
1647				: : true ;
1648		} else {
1649			InstallOptionalHaikuImagePackage vim-7.3-r1a3-x86-gcc2-2011-05-26.zip
1650				:  $(baseURL)/vim-7.3-r1a3-x86-gcc2-2011-05-26.zip
1651				: : true ;
1652		}
1653		AddSymlinkToHaikuImage home config be Applications
1654			: /boot/common/bin/gvim ;
1655		# TODO: move this symlink to the archive
1656		AddSymlinkToHaikuImage common bin : vim : vi ;
1657	}
1658}
1659
1660
1661# Vision
1662if [ IsOptionalHaikuImagePackageAdded Vision ] {
1663	if $(TARGET_ARCH) != x86 {
1664		Echo "No optional package Vision available for $(TARGET_ARCH)" ;
1665	} else {
1666		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1667			InstallOptionalHaikuImagePackage vision-908-r1a3-x86-gcc4-2011-06-07.zip
1668				: $(baseURL)/vision-908-r1a3-x86-gcc4-2011-06-07.zip ;
1669		} else {
1670			InstallOptionalHaikuImagePackage
1671				vision-908-r1a3-x86-gcc2-2011-06-07.zip
1672				: $(baseURL)/vision-908-r1a3-x86-gcc2-2011-06-07.zip ;
1673		}
1674		AddSymlinkToHaikuImage home config be Applications
1675			: /boot/apps/Vision/Vision ;
1676	}
1677}
1678
1679
1680# WebPositive
1681if [ IsOptionalHaikuImagePackageAdded WebPositive ] {
1682	if $(TARGET_ARCH) != x86 {
1683		Echo "No optional package WebPositive available for $(TARGET_ARCH)" ;
1684	} else if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) {
1685		Echo "No optional package WebPositive available for gcc2" ;
1686	} else {
1687		InstallOptionalHaikuImagePackage
1688			WebPositive-gcc4-x86-r583-2011-08-26.zip
1689			: $(baseURL)/WebPositive-gcc4-x86-r583-2011-08-26.zip ;
1690		AddSymlinkToHaikuImage home config be Applications
1691			: /boot/apps/WebPositive/WebPositive ;
1692	}
1693}
1694
1695
1696# Welcome
1697if [ IsOptionalHaikuImagePackageAdded Welcome ] {
1698	CopyDirectoryToHaikuImage system documentation
1699		: [ FDirName $(HAIKU_TOP) docs welcome ]
1700		: welcome : -x .svn ;
1701	CopyDirectoryToHaikuImage system documentation
1702		: [ FDirName $(HAIKU_TOP) docs userguide ]
1703		: userguide : -x .svn ;
1704}
1705
1706
1707# WifiFirmwareScriptData
1708# This optional package is for people who build their own images & have wifi
1709# hardware that requires install-wifi-firmwares.sh & have no active network
1710# connection. This is not to be added to default images.
1711if [ IsOptionalHaikuImagePackageAdded WifiFirmwareScriptData ] {
1712	if $(TARGET_ARCH) != x86 {
1713		Echo "No optional package WifiFirmwareScriptData available for"
1714			$(TARGET_ARCH) ;
1715	} else {
1716		# broadcom43xx
1717		# firmware cutter
1718		local broadcomFWCutterArchive = b43-fwcutter-012.tar.bz2 ;
1719		local broadcomFWCutterURL =
1720			http://bu3sch.de/b43/fwcutter/$(broadcomFWCutterArchive) ;
1721		local broadcomFWCutterFile = [ DownloadFile $(broadcomFWCutterArchive)
1722			: $(broadcomFWCutterURL) ] ;
1723		AddFilesToHaikuImage system data firmware broadcom43xx b43-fwcutter
1724			: $(broadcomFWCutterFile) ;
1725
1726		# headers needed to compile firmware cutter
1727		local glibcDir = [ FDirName
1728			$(HAIKU_TOP) src system libroot posix glibc ] ;
1729		local byteswapHeader = [ FDirName $(glibcDir) string byteswap.h ] ;
1730		AddFilesToHaikuImage system data firmware broadcom43xx b43-fwcutter
1731			: $(byteswapHeader) ;
1732		local bitByteswapHeader = [ FDirName
1733			$(glibcDir) include arch x86 bits byteswap.h ] ;
1734		AddFilesToHaikuImage system data firmware broadcom43xx b43-fwcutter bits
1735			: $(bitByteswapHeader) ;
1736
1737		# file containing firmware
1738		local broadcom43xxFile ;
1739		broadcom43xxFile = [ DownloadFile wl_apsta-3.130.20.0.o
1740			: http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o ] ;
1741		AddFilesToHaikuImage system data firmware broadcom43xx
1742			: $(broadcom43xxFile) ;
1743
1744		# marvell88w8335
1745		local marvelArchive = malo-firmware-1.4.tgz ;
1746		local marvelURL = http://www.nazgul.ch/malo/$(marvelArchive) ;
1747		local marvelFile = [ DownloadFile $(marvelArchive) : $(marvelURL) ] ;
1748		AddFilesToHaikuImage system data firmware marvell88w8335
1749			: $(marvelFile) ;
1750	}
1751}
1752
1753
1754# WonderBrush
1755if [ IsOptionalHaikuImagePackageAdded WonderBrush ] {
1756	if $(TARGET_ARCH) != x86 {
1757		Echo "No optional package WonderBrush available for $(TARGET_ARCH)" ;
1758	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
1759		Echo "No optional package WonderBrush available for gcc4" ;
1760	} else {
1761		InstallOptionalHaikuImagePackage WonderBrush-2.1.2.zip
1762			: $(baseURL)/WonderBrush-2.1.2-x86-gcc2-2008-11-08.zip
1763			: apps ;
1764		AddSymlinkToHaikuImage home config be Applications
1765			: /boot/apps/WonderBrush/WonderBrush ;
1766	}
1767}
1768
1769
1770# wpa_supplicant
1771if [ IsOptionalHaikuImagePackageAdded wpa_supplicant ] {
1772	if $(TARGET_ARCH) != x86 {
1773		Echo "No optional package wpa_supplicant available for $(TARGET_ARCH)" ;
1774	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
1775		InstallOptionalHaikuImagePackage
1776			wpa_supplicant-0.7.3-x86-gcc4-2011-10-05.zip
1777			: $(baseURL)/wpa_supplicant-0.7.3-x86-gcc4-2011-10-05.zip ;
1778	} else {
1779		InstallOptionalHaikuImagePackage
1780			wpa_supplicant-0.7.3-x86-gcc2-2011-10-05.zip
1781			: $(baseURL)/wpa_supplicant-0.7.3-x86-gcc2-2011-10-05.zip ;
1782	}
1783}
1784
1785
1786# WQY-MicroHei
1787if [ IsOptionalHaikuImagePackageAdded WQY-MicroHei ] {
1788	InstallOptionalHaikuImagePackage
1789		wqy-microhei-0.2.0-beta-r1a3-x86-gcc2-2011-05-18.zip
1790		: $(baseURL)/wqy-microhei-0.2.0-beta-r1a3-x86-gcc2-2011-05-18.zip ;
1791}
1792
1793
1794# XZ-Utils
1795if [ IsOptionalHaikuImagePackageAdded XZ-Utils ] {
1796	if $(TARGET_ARCH) != x86 {
1797		Echo "No optional package XZ-Utils available for $(TARGET_ARCH)" ;
1798	} else {
1799		InstallOptionalHaikuImagePackage
1800			xz-utils-5.0.1-r1a3-x86-gcc4-2011-05-24.zip
1801			: $(baseURL)/xz-utils-5.0.1-r1a3-x86-gcc4-2011-05-24.zip ;
1802		AddExpanderRuleToHaikuImage "application/x-xz" : .tar.xz
1803			: "tar -Jtvf \\0045s"
1804			: "tar -Jxvf \\0045s"
1805		;
1806		AddExpanderRuleToHaikuImage "application/x-xz" : .txz
1807			: "tar -Jtvf \\0045s"
1808			: "tar -Jxvf \\0045s"
1809		;
1810		AddExpanderRuleToHaikuImage "application/x-xz" : .xz
1811			: "echo \\0045s | sed 's/.xz\\\$//g'"
1812			: "xz -df \\0045s"
1813		;
1814	}
1815}
1816
1817
1818# Yasm
1819if [ IsOptionalHaikuImagePackageAdded Yasm ] {
1820	if $(TARGET_ARCH) != x86 {
1821		Echo "No optional package Yasm available for $(TARGET_ARCH)" ;
1822	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
1823		InstallOptionalHaikuImagePackage
1824			yasm-1.1.0-r1a3-x86-gcc4-2011-05-24.zip
1825			: $(baseURL)/yasm-1.1.0-r1a3-x86-gcc4-2011-05-24.zip ;
1826	} else {
1827		InstallOptionalHaikuImagePackage
1828			yasm-1.1.0-r1a3-x86-gcc2-2011-05-17.zip
1829			: $(baseURL)/yasm-1.1.0-r1a3-x86-gcc2-2011-05-17.zip ;
1830	}
1831}
1832