3f6ca2fdca
* Build system: Create packages haiku-devel, haiku-welcome, haiku-userguide, and makefile-engine. * The TimGMSoundFont and BeBook zip files have been repackaged as hpkg files. * Adjust the optional package definitions accordingly.
428 lines
14 KiB
Plaintext
428 lines
14 KiB
Plaintext
#pragma mark - haiku.hpkg
|
|
|
|
|
|
local haikuPackage = haiku.hpkg ;
|
|
HaikuPackage $(haikuPackage) ;
|
|
|
|
|
|
# wifi firmware
|
|
for driver in $(SYSTEM_ADD_ONS_DRIVERS_NET) {
|
|
local package = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_PACKAGE) ] ;
|
|
local archive = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_ARCHIVE) ] ;
|
|
local extract = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_DO_EXTRACT) ] ;
|
|
if $(archive) {
|
|
AddWifiFirmwareToPackage $(driver) : $(package) : $(archive)
|
|
: $(extract) ;
|
|
}
|
|
local packages = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_PACKAGES) ] ;
|
|
local archives = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_ARCHIVES) ] ;
|
|
for archive in $(archives) {
|
|
AddWifiFirmwareToPackage $(driver) : $(packages[1]) : $(archive)
|
|
: $(extract) ;
|
|
packages = $(packages[2-]) ;
|
|
}
|
|
}
|
|
|
|
|
|
# modules
|
|
AddFilesToPackage add-ons kernel bus_managers : $(SYSTEM_ADD_ONS_BUS_MANAGERS) ;
|
|
AddFilesToPackage add-ons kernel busses agp_gart : $(X86_ONLY)<agp_gart>intel ;
|
|
|
|
if $(HAIKU_ATA_STACK) = 1 {
|
|
AddFilesToPackage add-ons kernel busses ata
|
|
: generic_ide_pci it8211 legacy_sata silicon_image_3112
|
|
$(X86_ONLY)ide_isa ;
|
|
} else {
|
|
AddFilesToPackage add-ons kernel busses ide
|
|
: generic_ide_pci it8211 legacy_sata silicon_image_3112
|
|
$(X86_ONLY)ide_isa ;
|
|
}
|
|
|
|
AddFilesToPackage add-ons kernel busses scsi : ahci ;
|
|
AddFilesToPackage add-ons kernel busses usb : <usb>uhci <usb>ohci <usb>ehci ;
|
|
AddFilesToPackage add-ons kernel console : vga_text ;
|
|
AddFilesToPackage add-ons kernel debugger
|
|
: <kdebug>demangle $(X86_ONLY)<kdebug>disasm
|
|
<kdebug>invalidate_on_exit <kdebug>usb_keyboard <kdebug>run_on_exit ;
|
|
AddFilesToPackage add-ons kernel file_systems : $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ;
|
|
AddFilesToPackage add-ons kernel generic
|
|
: $(ATA_ONLY)ata_adapter dpc $(IDE_ONLY)ide_adapter locked_pool mpu401
|
|
scsi_periph <module>tty ;
|
|
AddFilesToPackage add-ons kernel partitioning_systems
|
|
: amiga_rdb apple efi_gpt intel session ;
|
|
AddFilesToPackage add-ons kernel interrupt_controllers : $(PPC_ONLY)openpic ;
|
|
|
|
if $(TARGET_ARCH) = x86 {
|
|
AddFilesToPackage add-ons kernel cpu : generic_x86 ;
|
|
}
|
|
|
|
# drivers
|
|
AddNewDriversToPackage disk scsi : scsi_cd scsi_disk ;
|
|
AddNewDriversToPackage power : $(X86_ONLY)enhanced_speedstep ;
|
|
AddNewDriversToPackage power : $(X86_ONLY)acpi_battery ;
|
|
|
|
# legacy drivers
|
|
AddDriversToPackage : console dprintf null random <driver>tty
|
|
zero ;
|
|
AddDriversToPackage audio hmulti : $(SYSTEM_ADD_ONS_DRIVERS_AUDIO) ;
|
|
AddDriversToPackage audio old : $(SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD) ;
|
|
AddDriversToPackage midi : $(SYSTEM_ADD_ONS_DRIVERS_MIDI) ;
|
|
AddDriversToPackage bus : usb_raw fw_raw ;
|
|
AddDriversToPackage disk floppy : $(X86_ONLY)pc_floppy ;
|
|
AddDriversToPackage disk usb : usb_disk ;
|
|
AddDriversToPackage disk usb : usb_floppy ;
|
|
AddDriversToPackage printer usb : usb_printer ;
|
|
AddDriversToPackage disk virtual : nbd ;
|
|
AddDriversToPackage dvb : cx23882 ;
|
|
AddDriversToPackage graphics : $(SYSTEM_ADD_ONS_DRIVERS_GRAPHICS) ;
|
|
AddDriversToPackage input : ps2_hid usb_hid wacom ;
|
|
AddDriversToPackage misc : <driver>poke <driver>mem ;
|
|
AddDriversToPackage net : $(SYSTEM_ADD_ONS_DRIVERS_NET) ;
|
|
AddDriversToPackage ports : usb_serial ;
|
|
#AddDriversToPackage power : $(SYSTEM_ADD_ONS_DRIVERS_POWER) ;
|
|
|
|
# kernel
|
|
AddFilesToPackage : <revisioned>kernel_$(TARGET_ARCH) ;
|
|
|
|
# libs
|
|
AddLibrariesToPackage lib : $(SYSTEM_LIBS) $(PRIVATE_SYSTEM_LIBS) ;
|
|
|
|
# libnetwork.so replaces quite a few libraries
|
|
SYSTEM_LIBS_LIBNETWORK_ALIASES = libsocket.so libbind.so libnet.so ;
|
|
|
|
if $(HAIKU_GCC_VERSION[1]) = 2 {
|
|
local lib ;
|
|
for lib in $(SYSTEM_LIBS_LIBNETWORK_ALIASES) {
|
|
AddSymlinkToPackage lib : libnetwork.so : $(lib) ;
|
|
}
|
|
|
|
AddSymlinkToPackage lib : libbnetapi.so : libnetapi.so ;
|
|
}
|
|
|
|
|
|
# libGL.so has GLU (like BeOS) *and* GLUT API built-in
|
|
SYSTEM_LIBS_LIBGL_ALIASES
|
|
= libGLU.so libglut.so ;
|
|
|
|
if $(TARGET_ARCH) = x86 {
|
|
local lib ;
|
|
for lib in $(SYSTEM_LIBS_LIBGL_ALIASES) {
|
|
AddSymlinkToPackage lib : libGL.so : $(lib) ;
|
|
}
|
|
}
|
|
|
|
SYSTEM_LIBS_ALIASES =
|
|
$(SYSTEM_LIBS_LIBNETWORK_ALIASES)
|
|
libnetapi.so
|
|
$(SYSTEM_LIBS_LIBGL_ALIASES)
|
|
;
|
|
|
|
# servers
|
|
AddFilesToPackage servers : $(SYSTEM_SERVERS) ;
|
|
|
|
# apps
|
|
AddFilesToPackage : runtime_loader ;
|
|
AddFilesToPackage : Deskbar Tracker ;
|
|
AddFilesToPackage bin : $(SYSTEM_BIN) consoled ;
|
|
AddFilesToPackage apps : $(SYSTEM_APPS) ;
|
|
AddFilesToPackage preferences : $(SYSTEM_PREFERENCES) ;
|
|
AddFilesToPackage demos : $(SYSTEM_DEMOS) ;
|
|
|
|
SEARCH on which = [ FDirName $(HAIKU_TOP) data bin ] ;
|
|
AddFilesToPackage bin : which ;
|
|
SEARCH on installoptionalpackage = [ FDirName $(HAIKU_TOP) data bin ] ;
|
|
AddFilesToPackage bin : installoptionalpackage ;
|
|
SEARCH on install-wifi-firmwares.sh = [ FDirName $(HAIKU_TOP) data bin ] ;
|
|
AddFilesToPackage bin : install-wifi-firmwares.sh ;
|
|
|
|
AddSymlinkToPackage bin : bash : sh ;
|
|
AddSymlinkToPackage bin : trash : untrash ;
|
|
|
|
AddSymlinkToPackage bin : bzip2 : bunzip2 ;
|
|
AddSymlinkToPackage bin : less : more ;
|
|
AddSymlinkToPackage bin : gzip : gunzip ;
|
|
AddSymlinkToPackage bin : gzip : zcat ;
|
|
AddSymlinkToPackage bin : zdiff : zcmp ;
|
|
AddSymlinkToPackage bin : unzip : zipinfo ;
|
|
AddSymlinkToPackage bin : gawk : awk ;
|
|
AddSymlinkToPackage bin : grep : egrep ;
|
|
AddSymlinkToPackage bin : grep : fgrep ;
|
|
|
|
# scripts and data files
|
|
local bootScripts = Bootscript Bootscript.cd SetupEnvironment Netscript
|
|
InstallerInitScript InstallerFinishScript ;
|
|
SEARCH on $(bootScripts) = [ FDirName $(HAIKU_TOP) data system boot ] ;
|
|
AddFilesToPackage boot : $(bootScripts) ;
|
|
|
|
# artwork and sounds
|
|
local logoArtwork =
|
|
$(HAIKU_INCLUDE_TRADEMARKS)"HAIKU logo - white on blue - big.png"
|
|
$(HAIKU_INCLUDE_TRADEMARKS)"HAIKU logo - white on blue - normal.png" ;
|
|
SEARCH on $(logoArtwork) = [ FDirName $(HAIKU_TOP) data artwork ] ;
|
|
AddFilesToPackage data artwork : $(logoArtwork) ;
|
|
|
|
AddDirectoryToPackage data sounds ;
|
|
|
|
# Mail spell check dictionaries
|
|
local spellFiles = words geekspeak ;
|
|
spellFiles = $(spellFiles:G=spell) ;
|
|
SEARCH on $(spellFiles) = [ FDirName $(HAIKU_TOP) src apps mail ] ;
|
|
AddFilesToPackage data spell_check word_dictionary : $(spellFiles) ;
|
|
|
|
local dataFiles = teapot.data ;
|
|
dataFiles = $(dataFiles:G=data) ;
|
|
SEARCH on $(dataFiles) = [ FDirName $(HAIKU_TOP) data system data ] ;
|
|
AddFilesToPackage data : $(dataFiles) ;
|
|
|
|
local fortuneFiles = [ Glob $(HAIKU_TOP)/data/system/data/fortunes
|
|
: [a-zA-Z0-9]* ] ;
|
|
fortuneFiles = $(fortuneFiles:G=data!fortunes) ;
|
|
AddFilesToPackage data fortunes : $(fortuneFiles) ;
|
|
|
|
local fontDir = [ FDirName $(HAIKU_TOP) data system data fonts ] ;
|
|
local psFonts = [ Glob $(fontDir)/psfonts : *.afm *.pfb ] ;
|
|
local ttFonts = [ Glob $(fontDir)/ttfonts : *.ttf ] ;
|
|
AddFilesToPackage data fonts psfonts : $(psFonts) ;
|
|
AddFilesToPackage data fonts ttfonts : $(ttFonts) ;
|
|
|
|
local cannaDir = [ FDirName $(HAIKU_TOP) data system data Canna ] ;
|
|
local cannaDefault = [ Glob $(cannaDir)/default : *.canna *.gz ] ;
|
|
local cannaDic = [ Glob $(cannaDir)/dic : *.cbp ] ;
|
|
local cannaDicCanna = [ Glob $(cannaDir)/dic/canna
|
|
: *.cld *.ctd *.cbd *.dir ] ;
|
|
AddFilesToPackage data Canna default : $(cannaDefault) ;
|
|
AddFilesToPackage data Canna dic : $(cannaDic) ;
|
|
AddFilesToPackage data Canna dic canna : $(cannaDicCanna) ;
|
|
AddDirectoryToPackage data Canna dic group ;
|
|
AddDirectoryToPackage data Canna dic user ;
|
|
|
|
local keymapFiles = [ Glob [ FDirName $(HAIKU_TOP) src data keymaps ]
|
|
: *.keymap ] ;
|
|
keymapFiles = $(keymapFiles:BG=keymap) ;
|
|
AddFilesToPackage data Keymaps : $(keymapFiles) ;
|
|
AddSymlinkToPackage data Keymaps : Swedish : Finnish ;
|
|
AddSymlinkToPackage data Keymaps : Slovene : Croatian ;
|
|
AddSymlinkToPackage data Keymaps : US-International : Brazilian ;
|
|
|
|
local keyboardLayoutsDir
|
|
= [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts ] ;
|
|
local keyboardLayouts = [ Glob $(keyboardLayoutsDir) : [^.]* ] ;
|
|
AddFilesToPackage data KeyboardLayouts : $(keyboardLayouts) ;
|
|
|
|
# boot loader
|
|
AddFilesToPackage : haiku_loader ;
|
|
|
|
# boot module links
|
|
AddBootModuleSymlinksToPackage
|
|
$(X86_ONLY)acpi $(ATA_ONLY)ata pci $(X86_ONLY)isa config_manager dpc
|
|
$(IDE_ONLY)ide scsi usb
|
|
$(PPC_ONLY)openpic
|
|
$(ATA_ONLY)ata_adapter $(IDE_ONLY)ide_adapter locked_pool scsi_periph
|
|
ahci generic_ide_pci it8211 legacy_sata silicon_image_3112
|
|
$(X86_ONLY)ide_isa
|
|
<usb>uhci <usb>ohci <usb>ehci
|
|
scsi_cd scsi_disk usb_disk
|
|
intel
|
|
bfs packagefs
|
|
;
|
|
|
|
# add-ons
|
|
AddFilesToPackage add-ons accelerants : $(SYSTEM_ADD_ONS_ACCELERANTS) ;
|
|
AddFilesToPackage add-ons opengl : Mesa\ Software\ Renderer ;
|
|
AddFilesToPackage add-ons Translators : $(SYSTEM_ADD_ONS_TRANSLATORS) ;
|
|
AddFilesToPackage add-ons locale catalogs : $(SYSTEM_ADD_ONS_LOCALE_CATALOGS) ;
|
|
|
|
AddFilesToPackage add-ons mail_daemon inbound_protocols : POP3 IMAP ;
|
|
AddFilesToPackage add-ons mail_daemon outbound_protocols : SMTP ;
|
|
AddFilesToPackage add-ons mail_daemon inbound_filters
|
|
: MatchHeader SpamFilter NewMailNotification ;
|
|
AddFilesToPackage add-ons mail_daemon outbound_filters : Fortune ;
|
|
|
|
AddFilesToPackage add-ons media : $(SYSTEM_ADD_ONS_MEDIA) ;
|
|
AddFilesToPackage add-ons media plugins : $(SYSTEM_ADD_ONS_MEDIA_PLUGINS) ;
|
|
AddFilesToPackage add-ons Tracker
|
|
: FileType-F Mark\ as… Mark\ as\ Read-R Open\ Target\ Folder-O
|
|
Open\ Terminal-T ZipOMatic-Z ;
|
|
AddSymlinkToPackage add-ons Tracker
|
|
: /boot/system/preferences/Backgrounds : Background-B ;
|
|
AddSymlinkToPackage add-ons Tracker
|
|
: /boot/system/apps/TextSearch : TextSearch-G ;
|
|
AddSymlinkToPackage add-ons Tracker
|
|
: /boot/system/apps/DiskUsage : DiskUsage-I ;
|
|
AddFilesToPackage add-ons input_server devices
|
|
: <input>keyboard <input>mouse <input>tablet <input>wacom ;
|
|
AddFilesToPackage add-ons input_server filters
|
|
: screen_saver shortcut_catcher ;
|
|
AddFilesToPackage add-ons kernel network
|
|
: <net>notifications stack ;
|
|
AddFilesToPackage add-ons kernel network devices
|
|
: $(SYSTEM_NETWORK_DEVICES) ;
|
|
AddFilesToPackage add-ons kernel network datalink_protocols
|
|
: $(SYSTEM_NETWORK_DATALINK_PROTOCOLS) ;
|
|
AddFilesToPackage add-ons kernel network ppp: $(SYSTEM_NETWORK_PPP) ;
|
|
AddFilesToPackage add-ons kernel network protocols
|
|
: $(SYSTEM_NETWORK_PROTOCOLS) ;
|
|
AddFilesToPackage add-ons Print : $(SYSTEM_ADD_ONS_PRINT) ;
|
|
AddFilesToPackage add-ons Print transport
|
|
: $(SYSTEM_ADD_ONS_PRINT_TRANSPORT) ;
|
|
AddFilesToPackage add-ons Screen\ Savers : $(SYSTEM_ADD_ONS_SCREENSAVERS) ;
|
|
|
|
AddFilesToPackage add-ons disk_systems : <disk_system>intel <disk_system>bfs ;
|
|
|
|
|
|
AddDirectoryToPackage data synth ;
|
|
AddDirectoryToPackage add-ons input_server methods ;
|
|
|
|
# optional
|
|
# TODO: We should probably build another package (including the data files
|
|
# above) that can be installed, if desired.
|
|
AddFilesToPackage optional add-ons input_server methods : canna ;
|
|
|
|
|
|
# PDF Writer enconding files
|
|
CopyDirectoryToPackage data
|
|
: [ FDirName $(HAIKU_TOP) src add-ons print drivers pdf encoding ]
|
|
: "PDF Writer" : -x .svn -x Jamfile ;
|
|
|
|
# licenses
|
|
CopyDirectoryToPackage data
|
|
: [ FDirName $(HAIKU_TOP) data system data licenses ]
|
|
: licenses : -x .svn ;
|
|
|
|
# Copy documentation as per DiskUsage's license requirement.
|
|
CopyDirectoryToPackage documentation
|
|
: [ FDirName $(HAIKU_TOP) docs apps diskusage ]
|
|
: diskusage : -x .svn ;
|
|
|
|
# Copy documentation as per PDFlib Lite's license requirement.
|
|
CopyDirectoryToPackage documentation
|
|
: [ FDirName $(HAIKU_TOP) src libs pdflib doc ]
|
|
: pdflib : -x .svn ;
|
|
|
|
|
|
BuildHaikuPackage $(haikuPackage) : haiku ;
|
|
|
|
|
|
#pragma mark - haiku-devel.hpkg
|
|
|
|
|
|
local haikuDevelPackage = haiku-devel.hpkg ;
|
|
HaikuPackage $(haikuDevelPackage) ;
|
|
|
|
local arch = $(TARGET_ARCH) ;
|
|
local developDirTokens = develop ;
|
|
|
|
# glue code
|
|
AddFilesToPackage $(developDirTokens) lib :
|
|
<src!system!glue!arch!$(arch)>crti.o
|
|
<src!system!glue!arch!$(arch)>crtn.o
|
|
<src!system!glue>init_term_dyn.o
|
|
<src!system!glue>start_dyn.o
|
|
<src!system!glue>haiku_version_glue.o
|
|
;
|
|
|
|
# kernel
|
|
AddFilesToPackage $(developDirTokens) lib : kernel.so : _KERNEL_ ;
|
|
|
|
# additional libraries
|
|
local developmentLibs = <revisioned>libroot_debug.so ;
|
|
AddFilesToPackage lib : $(developmentLibs) ;
|
|
|
|
# library symlinks
|
|
local lib ;
|
|
for lib in $(SYSTEM_LIBS) $(SYSTEM_LIBS_LIBGL_ALIASES) $(developmentLibs) {
|
|
AddSymlinkToPackage $(developDirTokens) lib : /system/lib $(lib:BS) ;
|
|
local abiVersion = [ on $(lib) return $(HAIKU_LIB_ABI_VERSION) ] ;
|
|
if $(abiVersion) {
|
|
local abiVersionedLib = $(lib:BS).$(abiVersion) ;
|
|
AddSymlinkToPackage $(developDirTokens) lib
|
|
: /system/lib $(abiVersionedLib) ;
|
|
}
|
|
}
|
|
|
|
# static libraries
|
|
AddFilesToPackage $(developDirTokens) lib : libncurses.a ;
|
|
AddFilesToPackage $(developDirTokens) lib : liblocalestub.a ;
|
|
|
|
# the POSIX error code mapper library
|
|
AddFilesToPackage $(developDirTokens) lib : libposix_error_mapper.a ;
|
|
|
|
# ABI independent stuff
|
|
|
|
# scripts: cc and c++ wrapper, freetype-config, setgcc
|
|
local scripts = cc c++ freetype-config setgcc ;
|
|
SEARCH on $(scripts) = [ FDirName $(HAIKU_TOP) data bin ] ;
|
|
AddFilesToPackage bin : $(scripts) ;
|
|
|
|
# headers
|
|
AddHeaderDirectoryToPackage config ;
|
|
AddHeaderDirectoryToPackage glibc ;
|
|
AddHeaderDirectoryToPackage os ;
|
|
AddHeaderDirectoryToPackage posix ;
|
|
|
|
# create be -> os symlink for now
|
|
AddSymlinkToPackage $(developDirTokens) headers : os : be ;
|
|
|
|
# BSD and GNU compatibility headers
|
|
AddHeaderDirectoryToPackage compatibility bsd : bsd ;
|
|
AddHeaderDirectoryToPackage compatibility gnu : gnu ;
|
|
|
|
# third party libs headers
|
|
AddHeaderDirectoryToPackage libs freetype2 : 3rdparty ;
|
|
AddHeaderDirectoryToPackage libs jpeg : 3rdparty ;
|
|
AddHeaderDirectoryToPackage libs ncurses : 3rdparty ;
|
|
AddHeaderDirectoryToPackage libs png : 3rdparty ;
|
|
AddHeaderDirectoryToPackage libs termcap : 3rdparty ;
|
|
AddHeaderDirectoryToPackage libs tiff : 3rdparty ;
|
|
AddHeaderDirectoryToPackage libs zlib : 3rdparty ;
|
|
|
|
# cpp headers
|
|
if $(HAIKU_GCC_VERSION[1]) = 2 {
|
|
# GCC 2 only -- for GCC 4 they come with the DevelopmentBase package
|
|
CopyDirectoryToPackage $(developDirTokens) headers c++
|
|
: [ FDirName $(HAIKU_TOP) headers cpp ] : 2.95.3 : -x .svn ;
|
|
}
|
|
|
|
BuildHaikuPackage $(haikuDevelPackage) : haiku-devel ;
|
|
|
|
|
|
#pragma mark - haiku-userguide.hpkg
|
|
|
|
|
|
local haikuUserGuidePackage = haiku-userguide.hpkg ;
|
|
HaikuPackage $(haikuUserGuidePackage) ;
|
|
|
|
CopyDirectoryToPackage documentation : [ FDirName $(HAIKU_TOP) docs userguide ]
|
|
: userguide : -x .svn ;
|
|
|
|
BuildHaikuPackage $(haikuUserGuidePackage) : haiku-userguide ;
|
|
|
|
|
|
#pragma mark - haiku-welcome.hpkg
|
|
|
|
|
|
local haikuWelcomePackage = haiku-welcome.hpkg ;
|
|
HaikuPackage $(haikuWelcomePackage) ;
|
|
|
|
CopyDirectoryToPackage documentation : [ FDirName $(HAIKU_TOP) docs welcome ]
|
|
: welcome : -x .svn ;
|
|
|
|
BuildHaikuPackage $(haikuWelcomePackage) : haiku-welcome ;
|
|
|
|
|
|
#pragma mark - makefile-engine.hpkg
|
|
|
|
|
|
local makefileEnginePackage = makefile-engine.hpkg ;
|
|
HaikuPackage $(makefileEnginePackage) ;
|
|
|
|
# skeleton makefile and makefile-engine
|
|
local makefileEngineFiles =
|
|
<makefile-engine>makefile
|
|
<makefile-engine>makefile-engine
|
|
;
|
|
SEARCH on $(makefileEngineFiles) = [ FDirName $(HAIKU_TOP) data develop ] ;
|
|
AddFilesToPackage develop etc : $(makefileEngineFiles) ;
|
|
|
|
BuildHaikuPackage $(makefileEnginePackage) : makefile-engine ;
|