xref: /haiku/build/jam/packages/HaikuBootstrap (revision 9a6a20d4689307142a7ed26a1437ba47e244e73f)
1local architecture = $(HAIKU_PACKAGING_ARCHS[1]) ;
2
3
4local haikuPackage = haiku.hpkg ;
5HaikuPackage $(haikuPackage) ;
6
7
8# modules
9AddFilesToPackage add-ons kernel bus_managers : $(SYSTEM_ADD_ONS_BUS_MANAGERS) ;
10AddFilesToPackage add-ons kernel busses agp_gart :
11	<agp_gart>intel@x86,x86_64
12	;
13
14AddFilesToPackage add-ons kernel busses ata :
15	generic_ide_pci
16	it8211
17	legacy_sata
18	silicon_image_3112
19	highpoint_ide_pci
20	ide_isa@x86
21	;
22
23AddFilesToPackage add-ons kernel busses scsi :
24	ahci
25	virtio_scsi
26	;
27AddFilesToPackage add-ons kernel busses usb :
28	<usb>uhci
29	<usb>ohci
30	<usb>ehci
31	;
32AddFilesToPackage add-ons kernel busses virtio :
33	virtio_pci
34	;
35AddFilesToPackage add-ons kernel console :
36	vga_text
37	;
38AddFilesToPackage add-ons kernel debugger :
39	<kdebug>demangle
40	<kdebug>disasm@x86
41	#<kdebug>hangman
42	<kdebug>invalidate_on_exit
43	<kdebug>usb_keyboard
44	<kdebug>run_on_exit
45	;
46AddFilesToPackage add-ons kernel file_systems : $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ;
47AddFilesToPackage add-ons kernel generic :
48	ata_adapter
49	bios@x86,x86_64
50	dpc
51	locked_pool
52	mpu401
53	scsi_periph
54	<module>tty
55	;
56AddFilesToPackage add-ons kernel partitioning_systems :
57	amiga_rdb@m68k
58	apple@ppc
59	efi_gpt
60	intel
61	session
62	;
63AddFilesToPackage add-ons kernel interrupt_controllers :
64	openpic@ppc
65	;
66AddFilesToPackage add-ons kernel power cpufreq :
67	intel_pstates@x86,x86_64
68	;
69AddFilesToPackage add-ons kernel power cpuidle :
70	intel_cstates@x86,x86_64
71	;
72
73if $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 {
74	AddFilesToPackage add-ons kernel cpu
75		:
76		generic_x86
77		;
78}
79
80# drivers
81AddNewDriversToPackage disk scsi :
82	scsi_cd
83	scsi_disk
84	;
85AddNewDriversToPackage disk virtual :
86	ram_disk
87	virtio_block
88	;
89AddNewDriversToPackage power :
90	acpi_battery@x86
91	;
92AddNewDriversToPackage network :
93	virtio_net
94	;
95AddNewDriversToPackage display :
96#	display_adapter@x86
97	;
98
99# legacy drivers
100AddDriversToPackage :
101	console
102	dprintf
103	null
104	random
105	<driver>tty
106	zero
107	;
108AddDriversToPackage audio hmulti
109	: $(SYSTEM_ADD_ONS_DRIVERS_AUDIO) ;
110AddDriversToPackage audio old
111	: $(SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD) ;
112AddDriversToPackage midi
113	: $(SYSTEM_ADD_ONS_DRIVERS_MIDI) ;
114AddDriversToPackage bus :
115	usb_raw
116	;
117AddDriversToPackage disk virtual :
118	nbd
119	;
120AddDriversToPackage graphics
121	: $(SYSTEM_ADD_ONS_DRIVERS_GRAPHICS) ;
122AddDriversToPackage input :
123	ps2_hid
124	usb_hid
125	wacom
126	;
127AddDriversToPackage misc :
128	<driver>poke
129	<driver>mem
130	;
131AddDriversToPackage net
132	: $(SYSTEM_ADD_ONS_DRIVERS_NET) ;
133AddDriversToPackage ports :
134	pc_serial
135	usb_serial
136	;
137AddDriversToPackage power
138	: $(SYSTEM_ADD_ONS_DRIVERS_POWER) ;
139
140# kernel
141AddFilesToPackage : <revisioned>kernel_$(TARGET_ARCH) ;
142
143# libs
144AddLibrariesToPackage lib
145	: [ HaikuImageGetSystemLibs ] [ HaikuImageGetPrivateSystemLibs ] ;
146
147# libnetwork.so replaces quite a few libraries
148if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) = 1 {
149	local libNetworkAliases = libsocket.so libbind.so libnet.so ;
150	local lib ;
151	for lib in $(libNetworkAliases) {
152		AddSymlinkToPackage lib : libnetwork.so : $(lib) ;
153	}
154
155	AddSymlinkToPackage lib : libbnetapi.so : libnetapi.so ;
156}
157
158
159# servers
160AddFilesToPackage servers : $(SYSTEM_SERVERS) ;
161
162# apps
163AddFilesToPackage :
164	runtime_loader
165	Deskbar
166	Tracker
167	;
168AddFilesToPackage bin :
169	$(SYSTEM_BIN)
170	consoled
171	;
172AddFilesToPackage apps
173	: $(SYSTEM_APPS) ;
174AddFilesToPackage preferences
175	: $(SYSTEM_PREFERENCES) ;
176AddFilesToPackage demos
177	: $(SYSTEM_DEMOS) ;
178
179SEARCH on install-wifi-firmwares.sh = [ FDirName $(HAIKU_TOP) data bin ] ;
180AddFilesToPackage bin : install-wifi-firmwares.sh ;
181
182AddSymlinkToPackage bin : trash : untrash ;
183AddSymlinkToPackage bin : less : more ;
184
185# scripts and data files
186local bootScripts = PostInstallScript SetupEnvironment ;
187SEARCH on $(bootScripts) = [ FDirName $(HAIKU_TOP) data system boot ] ;
188AddFilesToPackage boot : $(bootScripts) ;
189
190local launchScripts = <data!launch>system ;
191SEARCH on $(launchScripts) = [ FDirName $(HAIKU_TOP) data launch ] ;
192AddFilesToPackage data launch : $(launchScripts) ;
193
194local userLaunchScripts = <data!launch>user <data!launch>bootstrap ;
195SEARCH on $(userLaunchScripts) = [ FDirName $(HAIKU_TOP) data launch ] ;
196AddFilesToPackage data user_launch : $(userLaunchScripts) ;
197
198# first login scripts
199local firstLoginFiles = default_deskbar_items.sh ;
200firstLoginFiles = $(firstLoginFiles:G=first-login) ;
201SEARCH on $(firstLoginFiles)
202	= [ FDirName $(HAIKU_TOP) data system boot first_login ] ;
203AddFilesToPackage boot first_login : $(firstLoginFiles) ;
204
205local fortuneFiles = [ Glob $(HAIKU_TOP)/data/system/data/fortunes
206	: [a-zA-Z0-9]* ] ;
207fortuneFiles = $(fortuneFiles:G=data!fortunes) ;
208AddFilesToPackage data fortunes : $(fortuneFiles) ;
209
210local fontDir = [ FDirName $(HAIKU_TOP) data system data fonts ] ;
211local psFonts = [ Glob $(fontDir)/psfonts : *.afm *.pfb ] ;
212AddFilesToPackage data fonts psfonts : $(psFonts) ;
213
214# keymaps
215AddFilesToPackage data Keymaps : $(HAIKU_KEYMAP_FILES) ;
216local keymapAlias ;
217for keymapAlias in $(HAIKU_KEYMAP_ALIASES) {
218	local aliasedTo = [ on $(keymapAlias) return $(HAIKU_KEYMAP_FILE) ] ;
219	AddSymlinkToPackage data Keymaps : $(aliasedTo:BSM) : $(keymapAlias:BSM) ;
220}
221
222# keyboard layouts
223AddFilesToPackage data KeyboardLayouts
224	: $(HAIKU_KEYBOARD_LAYOUT_FILES) ;
225AddFilesToPackage data KeyboardLayouts Apple\ Aluminum
226	: $(HAIKU_APPLE_ALUMINUM_KEYBOARD_LAYOUT_FILES) ;
227AddFilesToPackage data KeyboardLayouts ThinkPad
228	: $(HAIKU_THINKPAD_KEYBOARD_LAYOUT_FILES) ;
229
230# terminal themes
231local terminalThemes = [ Glob $(HAIKU_TOP)/data/system/data/terminal_themes : "[a-zA-Z0-9 ]*" ] ;
232AddFilesToPackage data Terminal Themes : $(terminalThemes) ;
233
234# boot module links
235AddBootModuleSymlinksToPackage
236	acpi@x86,x86_64
237	ata
238	pci
239	isa@x86,x86_64
240	dpc
241	scsi
242	usb
243	openpic@ppc
244	ata_adapter
245	locked_pool
246	scsi_periph
247	ahci
248	generic_ide_pci
249	it8211
250	legacy_sata
251	silicon_image_3112
252	highpoint_ide_pci
253	ide_isa@x86
254	<usb>uhci
255	<usb>ohci
256	<usb>ehci
257	scsi_cd
258	scsi_disk
259	virtio
260	virtio_pci
261	virtio_block
262	virtio_scsi
263	efi_gpt
264	intel
265	bfs
266	packagefs
267;
268
269# add-ons
270AddFilesToPackage add-ons accelerants	: $(SYSTEM_ADD_ONS_ACCELERANTS) ;
271AddFilesToPackage add-ons Translators	: $(SYSTEM_ADD_ONS_TRANSLATORS) ;
272AddFilesToPackage add-ons locale catalogs : $(SYSTEM_ADD_ONS_LOCALE_CATALOGS) ;
273
274AddFilesToPackage add-ons Tracker :
275	FileType
276	Mark\ as…
277	Mark\ as\ Read
278	Open\ Target\ Folder
279	Open\ Terminal
280	ZipOMatic
281	;
282AddSymlinkToPackage add-ons Tracker
283	: /boot/system/preferences/Backgrounds : Background-B ;
284AddSymlinkToPackage add-ons Tracker
285	: /boot/system/apps/TextSearch : TextSearch-G ;
286AddSymlinkToPackage add-ons Tracker
287	: /boot/system/apps/DiskUsage : DiskUsage-I ;
288
289AddFilesToPackage add-ons input_server devices :
290	<input>keyboard
291	<input>mouse
292	<input>tablet
293	<input>wacom
294	;
295AddFilesToPackage add-ons input_server filters :
296	switch_workspace
297	;
298
299AddFilesToPackage add-ons kernel network :
300	<net>notifications
301	stack
302	;
303AddFilesToPackage add-ons kernel network :
304	dns_resolver
305	;
306AddFilesToPackage add-ons kernel network devices
307	: $(SYSTEM_NETWORK_DEVICES) ;
308AddFilesToPackage add-ons kernel network datalink_protocols
309	: $(SYSTEM_NETWORK_DATALINK_PROTOCOLS) ;
310AddFilesToPackage add-ons kernel network ppp
311	: $(SYSTEM_NETWORK_PPP) ;
312AddFilesToPackage add-ons kernel network protocols
313	: $(SYSTEM_NETWORK_PROTOCOLS) ;
314
315AddFilesToPackage add-ons disk_systems :
316	<disk_system>intel
317	<disk_system>gpt
318	<disk_system>bfs
319	<disk_system>ntfs
320	;
321
322
323# the MIME DB
324CopyDirectoryToPackage data : <mimedb>mime_db : : : isTarget ;
325
326
327# Deskbar menu symlinks
328
329# "Applications" links
330DESKBAR_APPLICATIONS =
331	ActivityMonitor
332	CharacterMap DeskCalc
333	Devices
334	DiskProbe
335	DriveSetup
336	DiskUsage
337	Expander
338	Installer
339	StyledEdit
340	Terminal
341;
342local linkTarget ;
343for linkTarget in $(DESKBAR_APPLICATIONS) {
344	AddSymlinkToPackage data deskbar menu Applications
345		: ../../../../apps/$(linkTarget) : $(linkTarget) ;
346}
347
348# "Desktop applets" links
349DESKBAR_DESKTOP_APPLETS =
350	LaunchBox
351	NetworkStatus
352	PowerStatus
353	ProcessController
354	Workspaces
355;
356for linkTarget in $(DESKBAR_DESKTOP_APPLETS) {
357	AddSymlinkToPackage data deskbar menu Desktop\ applets
358		: ../../../../apps/$(linkTarget) : $(linkTarget) ;
359}
360
361# "Preferences" links
362AddDirectoryToPackage data deskbar menu Preferences ;
363DESKBAR_PREFERENCES = $(SYSTEM_PREFERENCES:B) ;
364for linkTarget in $(DESKBAR_PREFERENCES) {
365	AddSymlinkToPackage data deskbar menu Preferences
366		: ../../../../preferences/$(linkTarget)
367		: $(linkTarget) ;
368}
369
370# Deskbar menu entries file
371AddFilesToPackage data deskbar : <deskbar>menu_entries ;
372
373
374# licenses
375CopyDirectoryToPackage data
376	: [ FDirName $(HAIKU_TOP) data system data licenses ]
377	: licenses ;
378
379# netresolv support files
380CopyDirectoryToPackage data
381	: [ FDirName $(HAIKU_TOP) data system data network ]
382	: network ;
383
384# Copy documentation as per DiskUsage's license requirement.
385CopyDirectoryToPackage documentation
386	: [ FDirName $(HAIKU_TOP) docs apps diskusage ]
387	: diskusage ;
388
389
390BuildHaikuPackage $(haikuPackage) : haiku ;
391