xref: /haiku/build/jam/DefaultBuildProfiles (revision 37343ca1f6786a7e392de7485c82d967e0911be6)
1# set HAIKU_BOOTSTRAP_BUILD early, if building a bootstrap Haiku image
2switch $(HAIKU_BUILD_PROFILE) {
3	case "bootstrap-*" :
4		HAIKU_BOOTSTRAP_BUILD = 1 ;
5}
6
7
8rule DefineDefaultBuildProfiles
9{
10	# alpha release profiles
11	DefineBuildProfile alpha-raw : image : "haiku-alpha.image" ;
12	DefineBuildProfile alpha-vmware : vmware-image : "haiku-alpha.vmdk" ;
13	DefineBuildProfile alpha-cd : cd-image : "haiku-alpha.iso" ;
14	DefineBuildProfile alpha-anyboot : anyboot-image
15		: "haiku-alpha-anyboot.image" ;
16
17	# nightly profiles
18	DefineBuildProfile nightly-raw : image : "haiku-nightly.image" ;
19	DefineBuildProfile nightly-vmware : vmware-image : "haiku-nightly.vmdk" ;
20	DefineBuildProfile nightly-cd : cd-image : "haiku-nightly.iso" ;
21	DefineBuildProfile nightly-anyboot : anyboot-image
22		: "haiku-nightly-anyboot.image" ;
23
24	# bootstrap profiles
25	DefineBuildProfile bootstrap-raw : image : "haiku-bootstrap.image" ;
26	DefineBuildProfile bootstrap-vmware : vmware-image
27		: "haiku-bootstrap.vmdk" ;
28
29	switch $(HAIKU_BUILD_PROFILE) {
30		case "alpha-*" : {
31			Echo Building Haiku R1/alpha ;
32			HAIKU_ROOT_USER_NAME = user ;
33			HAIKU_ROOT_USER_REAL_NAME = "Yourself" ;
34			AddGroupToHaikuImage party : 101 : user sshd ;
35			HAIKU_IMAGE_HOST_NAME = shredder ;
36			HAIKU_IMAGE_SIZE = 800 ;
37
38			AddHaikuImagePackages
39				wpa_supplicant
40				:
41				system
42				;
43
44			AddHaikuImagePackages
45				bepdf
46				cvs
47				keymapswitcher
48				man
49				mercurial
50				nano
51				openssh
52				p7zip
53				pe
54				python
55				subversion
56				timgmsoundfont
57				vision
58				wonderbrush
59				wqy_microhei
60				xz_utils@!gcc2
61				;
62
63			# xz_utils can't be built with gcc2, so a mere gcc2 system doesn't
64			# have it. However, xz_utils does exist for the secondary (gcc4)
65			# architecture of a gcc2 hybrid.
66			if $(HAIKU_PACKAGING_ARCHS) != x86_gcc2 {
67				AddHaikuImagePackages
68					xz_utils_x86@gcc2
69					;
70			}
71
72			local architectureObject ;
73			for architectureObject in [ MultiArchSubDirSetup ] {
74				on $(architectureObject) {
75					AddHaikuImagePackages openssl : system ;
76				}
77			}
78
79			AddOptionalHaikuImagePackages BeBook Development Git WebPositive
80				Welcome ;
81		}
82
83		case "beta-*" : {
84			Echo You wish. ;
85		}
86
87		case "nightly-*" : {
88			Echo Building Haiku Nightly ;
89			HAIKU_ROOT_USER_NAME = user ;
90			HAIKU_ROOT_USER_REAL_NAME = "Yourself" ;
91			AddGroupToHaikuImage party : 101 : user sshd ;
92			HAIKU_IMAGE_HOST_NAME = shredder ;
93			HAIKU_IMAGE_SIZE = 600 ;
94
95			AddHaikuImagePackages
96				openssl
97				wpa_supplicant
98				:
99				system
100				;
101
102			AddHaikuImagePackages
103				man
104				nano
105				openssh
106				p7zip
107				pe
108				vision
109				xz_utils
110				;
111
112			AddOptionalHaikuImagePackages Development Git WebPositive ;
113		}
114
115		case "bootstrap-*" : {
116			Echo Building Haiku Bootstrap ;
117			HAIKU_IMAGE_HOST_NAME = shredder ;
118			HAIKU_IMAGE_SIZE = 20000 ;
119
120			AddHaikuImagePackages
121				curl
122				curl_devel
123				freetype
124				freetype_devel
125				grep
126				icu
127				libsolv
128				ncurses
129				ncurses_devel
130				sed
131				zlib
132				zlib_devel
133				:
134				system
135				;
136
137			AddHaikuImagePackages
138				autoconf
139				automake
140				binutils
141				bison
142				flex
143				gcc
144				haikuporter
145#				jam
146				libtool
147				libtool_libltdl
148				m4
149				make
150#				makeinfo
151#				mkdepend
152#				perl
153				python
154#				texinfo
155				;
156
157			# secondary architecture packages
158			local architectureObject ;
159			for architectureObject
160					in [ MultiArchSubDirSetup $(TARGET_PACKAGING_ARCHS[2-]) ] {
161				on $(architectureObject) {
162					AddHaikuImagePackages
163						curl
164						curl_devel
165						freetype
166						freetype_devel
167						icu
168						libsolv
169						ncurses
170						ncurses_devel
171						zlib
172						zlib_devel
173						:
174						system
175						;
176
177					AddHaikuImagePackages
178						binutils
179						gcc
180						;
181				}
182			}
183
184			AddOptionalHaikuImagePackages DevelopmentMin ;
185		}
186	}
187
188
189	# Uncomment in official release branch.
190	#HAIKU_DEFINES += HAIKU_OFFICIAL_RELEASE ;
191	#TARGET_DEFINES += HAIKU_OFFICIAL_RELEASE ;
192
193
194	# If a build profile was specified on the command line, now is the time to
195	# check whether it is unknown or one of the default profiles.
196	if $(HAIKU_BUILD_PROFILE) && ! $(HAIKU_BUILD_PROFILE_DEFINED) {
197		# define the obvious default profiles
198		if $(HAIKU_BUILD_PROFILE) in anyboot-image cd-image image install
199				vmware-image {
200			DefineBuildProfile $(HAIKU_BUILD_PROFILE) : $(HAIKU_BUILD_PROFILE) ;
201		} else {
202			Exit "Build profile" $(HAIKU_BUILD_PROFILE) "not defined." ;
203		}
204	}
205}
206