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