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