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