xref: /haiku/build/jam/OptionalPackages (revision e3db3bf84ea4934807e4104d20c3c39aeb8fe1df)
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# Available Optional Packages:
6#	BeOSCompatibility		- creates links within the system to support old apps
7#	Development				- more complete dev environment (including autotools)
8#	DevelopmentBase			- basic development environment (gcc, headers, libs,...)
9#	DevelopmentMin			- development headers, libs, tools, from sources only
10#	Git						- the distributed version control system
11#	WebPositive				- native, WebKit-based web browser
12#	Welcome					- introductory documentation to Haiku
13
14
15# dependencies between optional packages
16OptionalPackageDependencies Development : DevelopmentBase ;
17OptionalPackageDependencies DevelopmentBase : DevelopmentMin ;
18OptionalPackageDependencies DevelopmentPowerPC : DevelopmentMin ;
19OptionalPackageDependencies NetFS : UserlandFS ;
20
21
22# BeBook
23if [ IsOptionalHaikuImagePackageAdded BeBook ] {
24	AddHaikuImagePackages be_book ;
25	AddSymlinkToHaikuImage home Desktop
26		: /boot/system/documentation/BeBook/index.html
27		: BeBook ;
28}
29
30
31# BeOSCompatibility
32if [ IsOptionalHaikuImagePackageAdded BeOSCompatibility ] {
33	if $(TARGET_ARCH) != x86 {
34		Echo "No optional package BeOSCompatibility available for"
35			"$(TARGET_ARCH)" ;
36	} else if $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) >= 4 {
37		Echo "No optional package BeOSCompatibility available for gcc4" ;
38	} else {
39		Echo "Warning: Adding BeOS compatibility symlinks. This will go away."
40			"Please fix your apps!" ;
41		AddSymlinkToHaikuImage beos : ../system/apps ;
42		AddSymlinkToHaikuImage beos : ../system/bin ;
43		AddSymlinkToHaikuImage beos
44			: ../system/documentation ;
45		AddSymlinkToHaikuImage beos : ../system/settings/etc ;
46		AddSymlinkToHaikuImage beos : ../system/preferences ;
47		AddSymlinkToHaikuImage beos : ../system ;
48		AddDirectoryToHaikuImage var ;
49		AddSymlinkToHaikuImage var : /boot/system/var/log ;
50		AddSymlinkToHaikuImage var : /boot/system/cache/tmp ;
51	}
52}
53
54
55# Development
56if [ IsOptionalHaikuImagePackageAdded Development ] {
57	# autotools and perl
58	AddHaikuImagePackages autoconf automake perl texinfo ;
59	AddHaikuImageSourcePackages autoconf automake texinfo ;
60
61	# some other build tools
62	AddHaikuImagePackages pkgconfig scons ;
63	AddHaikuImageSourcePackages pkgconfig ;
64
65	# devel packages for mandatory packages
66	local architectureObject ;
67	for architectureObject in [ MultiArchSubDirSetup ] {
68		on $(architectureObject) {
69			AddHaikuImagePackages curl_devel ffmpeg_devel fontconfig_devel
70				freetype_devel glu_devel jpeg_devel libpng16_devel zlib_devel ;
71		}
72	}
73}
74
75
76# DevelopmentBase
77if [ IsOptionalHaikuImagePackageAdded DevelopmentBase ] {
78	# gcc and binutils (for all target architectures)
79	local architectureObject ;
80	for architectureObject in [ MultiArchSubDirSetup ] {
81		on $(architectureObject) {
82			AddHaikuImagePackages binutils gcc ;
83			AddHaikuImageSourcePackages binutils gcc ;
84		}
85	}
86
87	# other commonly used tools
88	AddHaikuImagePackages bison cdrtools flex jam m4 make mkdepend nasm patch ;
89	AddHaikuImageSourcePackages bison cdrtools m4 make patch ;
90}
91
92
93# DevelopmentMin
94if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ]
95		&& ( $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 ) {
96	AddPackageFilesToHaikuImage system
97		:
98		haiku_devel.hpkg
99		haiku_$(TARGET_PACKAGING_ARCHS[2-])_devel.hpkg
100		:
101		nameFromMetaInfo
102		;
103
104	if $(HAIKU_IS_BOOTSTRAP) != 1 {
105		AddPackageFilesToHaikuImage system
106			:
107			makefile_engine.hpkg
108			:
109			nameFromMetaInfo
110			;
111	}
112}
113
114
115# Git
116if [ IsOptionalHaikuImagePackageAdded Git ] {
117	AddHaikuImagePackages git git_daemon ;
118	AddHaikuImageSourcePackages git ;
119}
120
121
122# WebPositive
123if [ IsOptionalHaikuImagePackageAdded WebPositive ] {
124	local architectureObject ;
125	for architectureObject in [ MultiArchSubDirSetup ] {
126		on $(architectureObject) {
127			if [ FIsBuildFeatureEnabled webpositive ] {
128				AddPackageFilesToHaikuImage system : webpositive.hpkg
129					: nameFromMetaInfo ;
130				break ;
131			}
132		}
133	}
134}
135
136
137# Welcome
138if [ IsOptionalHaikuImagePackageAdded Welcome ] {
139	AddPackageFilesToHaikuImage system : haiku_userguide_ca.hpkg
140		: nameFromMetaInfo ;
141	AddPackageFilesToHaikuImage system : haiku_userguide_de.hpkg
142		: nameFromMetaInfo ;
143	AddPackageFilesToHaikuImage system : haiku_userguide_en.hpkg
144		: nameFromMetaInfo ;
145	AddPackageFilesToHaikuImage system : haiku_userguide_es.hpkg
146		: nameFromMetaInfo ;
147	AddPackageFilesToHaikuImage system : haiku_userguide_fi.hpkg
148		: nameFromMetaInfo ;
149	AddPackageFilesToHaikuImage system : haiku_userguide_fr.hpkg
150		: nameFromMetaInfo ;
151	AddPackageFilesToHaikuImage system : haiku_userguide_hu.hpkg
152		: nameFromMetaInfo ;
153	AddPackageFilesToHaikuImage system : haiku_userguide_it.hpkg
154		: nameFromMetaInfo ;
155	AddPackageFilesToHaikuImage system : haiku_userguide_jp.hpkg
156		: nameFromMetaInfo ;
157	AddPackageFilesToHaikuImage system : haiku_userguide_pl.hpkg
158		: nameFromMetaInfo ;
159	AddPackageFilesToHaikuImage system : haiku_userguide_pt_BR.hpkg
160		: nameFromMetaInfo ;
161	AddPackageFilesToHaikuImage system : haiku_userguide_pt_PT.hpkg
162		: nameFromMetaInfo ;
163	AddPackageFilesToHaikuImage system : haiku_userguide_ru.hpkg
164		: nameFromMetaInfo ;
165	AddPackageFilesToHaikuImage system : haiku_userguide_sk.hpkg
166		: nameFromMetaInfo ;
167	AddPackageFilesToHaikuImage system : haiku_userguide_sv_SE.hpkg
168		: nameFromMetaInfo ;
169	AddPackageFilesToHaikuImage system : haiku_userguide_uk.hpkg
170		: nameFromMetaInfo ;
171	AddPackageFilesToHaikuImage system : haiku_userguide_zh_CN.hpkg
172		: nameFromMetaInfo ;
173
174	AddPackageFilesToHaikuImage system : haiku_welcome.hpkg : nameFromMetaInfo ;
175
176	AddSymlinkToHaikuImage home Desktop	: /boot/system/bin/welcome
177		: Welcome ;
178	AddSymlinkToHaikuImage home Desktop	: /boot/system/bin/userguide
179		: User\ Guide ;
180}
181