added 2 changesets to branch 'refs/remotes/HaikuPM-github/package-management' old head: bcbf22a316baf9c159b286ca774b27b21102b53f new head: bc07db8f0afd325e38f1c8a17cdf3aea2d62c12d overview: https://github.com/haiku/HaikuPM/compare/bcbf22a...bc07db8 ---------------------------------------------------------------------------- b38b279: Move package definitions to their own files bc07db8: Declare more package dependencies Probably still a lot missing, but we want to get rid of the file soon, anyway. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ---------------------------------------------------------------------------- 7 files changed, 530 insertions(+), 535 deletions(-) build/jam/HaikuPackages | 546 +----------------------------- build/jam/OptionalPackageDependencies | 5 +- build/jam/packages/Haiku | 389 +++++++++++++++++++++ build/jam/packages/HaikuDevel | 95 ++++++ build/jam/packages/HaikuUserguide | 9 + build/jam/packages/HaikuWelcome | 9 + build/jam/packages/MakefileEngine | 12 + ############################################################################ Commit: b38b2796499442bd9daf4f75347f50c51e980c47 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun May 5 16:25:31 2013 UTC Move package definitions to their own files ---------------------------------------------------------------------------- diff --git a/build/jam/HaikuPackages b/build/jam/HaikuPackages index 699d7b8..52bcf5e 100644 --- a/build/jam/HaikuPackages +++ b/build/jam/HaikuPackages @@ -1,537 +1,17 @@ -#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 : <agp_gart>intel@x86 ; - -if $(HAIKU_ATA_STACK) = 1 { - AddFilesToPackage add-ons kernel busses ata - : generic_ide_pci it8211 legacy_sata silicon_image_3112 ide_isa@x86 ; -} else { - AddFilesToPackage add-ons kernel busses ide - : generic_ide_pci it8211 legacy_sata silicon_image_3112 ide_isa@x86 ; -} - -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 <kdebug>disasm@x86 <kdebug>hangman - <kdebug>invalidate_on_exit <kdebug>usb_keyboard <kdebug>qrencode - <kdebug>run_on_exit ; -AddFilesToPackage add-ons kernel file_systems : $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ; -AddFilesToPackage add-ons kernel generic - : ata_adapter@ata bios@x86 dpc ide_adapter@ide - 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 : openpic@ppc ; - -if $(TARGET_ARCH) = x86 { - AddFilesToPackage add-ons kernel cpu : generic_x86 ; -} - -# drivers -AddNewDriversToPackage disk scsi : scsi_cd scsi_disk ; -AddNewDriversToPackage power : enhanced_speedstep@x86 ; -AddNewDriversToPackage power : acpi_battery@x86 ; -#AddNewDriversToPackage display : display_controls@x86 ; - -# 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 : pc_floppy@x86 ; -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) built-in -SYSTEM_LIBS_LIBGL_ALIASES = libGLU.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) -; - -OPTIONAL_LIBS_ALIASES = - libfreetype.so - libjpeg.so - libpng.so - libz.so -; - -# TODO: Remove the following symlinks when the libraries have been packaged -# properly! -# libfreetype.so links to the current freetype lib -AddSymlinkToPackage lib : $(HAIKU_FREETYPE_CURRENT_LIB:BS) - : $(HAIKU_FREETYPE_CURRENT_LINK) : : true ; -AddSymlinkToPackage lib : $(HAIKU_FREETYPE_CURRENT_LINK) - : libfreetype.so : : true ; - -# libpng.so links to the current libpng -AddSymlinkToPackage lib : $(HAIKU_LIBPNG_CURRENT_LIB:BS) - : $(HAIKU_LIBPNG_CURRENT_LINK) : : true ; -AddSymlinkToPackage lib : $(HAIKU_LIBPNG_CURRENT_LINK) - : libpng.so : : true ; - -# libjpeg.so links to the current libjpeg -AddSymlinkToPackage lib : $(HAIKU_JPEG_CURRENT_LIB:BS) - : $(HAIKU_JPEG_CURRENT_LINK) : : true ; -AddSymlinkToPackage lib : $(HAIKU_JPEG_CURRENT_LINK) - : libjpeg.so : : true ; - -# zlib.so links to the current zlib -AddSymlinkToPackage lib : $(HAIKU_ZLIB_CURRENT_LIB:BS) - : $(HAIKU_ZLIB_CURRENT_LINK) : : true ; -AddSymlinkToPackage lib : $(HAIKU_ZLIB_CURRENT_LINK) - : libz.so : : true ; - -# servers -AddFilesToPackage servers : $(SYSTEM_SERVERS) ; - -# apps -AddFilesToPackage : runtime_loader 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 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 : less : more ; -AddSymlinkToPackage bin : gzip : gunzip ; -AddSymlinkToPackage bin : gzip : zcat ; -AddSymlinkToPackage bin : zdiff : zcmp ; -AddSymlinkToPackage bin : unzip : zipinfo ; -AddSymlinkToPackage bin : gawk : awk ; - -# 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) ; - -# post install scripts -local postInstallFiles = add_catalog_entry_attributes.sh - default_deskbar_items.sh mime_update.sh ; -postInstallFiles = $(postInstallFiles:G=post-install) ; -SEARCH on $(postInstallFiles) - = [ FDirName $(HAIKU_TOP) data common boot post_install ] ; -AddFilesToPackage boot post_install : $(postInstallFiles) ; - -# Gutenprint data files -CopyDirectoryToPackage data - : [ FDirName $(HAIKU_TOP) src libs print libgutenprint src xml ] - : gutenprint : -x *.c -x Makefile.am -x Makefile.in ; - -# 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) ; - -# 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 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 ; - # TODO: If those serve any purpose, they should probably live in a writable - # subtree. - -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 ; - -# Copy keyboard layout files to the image one-by-one. -local keyboardLayoutsDir - = [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts ] ; -local keyboardLayoutFiles = - "Generic 104-key" - "Generic 105-key International" - "Kinesis Advantage" - "Kinesis Ergo Elan International" - "TypeMatrix 2030" ; -keyboardLayoutFiles = $(keyboardLayoutFiles:G=keyboard-layout) ; -SEARCH on $(keyboardLayoutFiles) = $(keyboardLayoutsDir) ; -AddFilesToPackage data KeyboardLayouts - : $(keyboardLayoutFiles) ; - -# Add Apple Aluminum keyboard layout files to the image in an Apple Aluminum -# subdirectory. The subdirectory is turned into a submenu in the Layout menu -# of the Keymap preference app. -local appleAluminumDir - = [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts - Apple\ Aluminum ] ; -local appleAluminumFiles = - "Apple Aluminium Extended International" - "Apple Aluminium International" - "Apple Aluminum (US)" - "Apple Aluminum Extended (US)" ; -appleAluminumFiles = $(appleAluminumFiles:G=keyboard-layout) ; -SEARCH on $(appleAluminumFiles) = $(appleAluminumDir) ; -AddFilesToPackage data KeyboardLayouts Apple\ Aluminum - : $(appleAluminumFiles) ; - -# Add ThinkPad keyboard layout files to the image in a ThinkPad -# subdirectory. The subdirectory is turned into a submenu in the Layout menu -# of the Keymap preference app. -local thinkpadDir - = [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts ThinkPad ] ; -local thinkPadFiles = - "ThinkPad (US)" - "ThinkPad International" - "ThinkPad T400s (US)" - "ThinkPad T400s International" - "ThinkPad X1 (US)" - "ThinkPad X1 International" - "ThinkPad X100e (US)" - "ThinkPad X100e International" ; -thinkPadFiles = $(thinkPadFiles:G=keyboard-layout) ; -SEARCH on $(thinkPadFiles) = $(thinkpadDir) ; -AddFilesToPackage data KeyboardLayouts ThinkPad - : $(thinkPadFiles) ; - -# boot loader -AddFilesToPackage : haiku_loader ; - -# boot module links -AddBootModuleSymlinksToPackage - acpi@x86 ata@ata pci isa@x86 config_manager dpc - ide@ide scsi usb - openpic@ppc - ata_adapter@ata ide_adapter@ide locked_pool scsi_periph - ahci generic_ide_pci it8211 legacy_sata silicon_image_3112 - ide_isa@x86 - <usb>uhci <usb>ohci <usb>ehci - scsi_cd scsi_disk usb_disk - efi_gpt - intel - bfs packagefs -; - -# add-ons -AddFilesToPackage add-ons accelerants : $(SYSTEM_ADD_ONS_ACCELERANTS) ; -AddFilesToPackage add-ons Translators : $(SYSTEM_ADD_ONS_TRANSLATORS) ; -AddFilesToPackage add-ons locale catalogs : $(SYSTEM_ADD_ONS_LOCALE_CATALOGS) ; - -AddFilesToPackage add-ons opengl : - x86 @{ - Legacy\ Software\ Rasterizer@gcc2 - Software\ Rasterizer@!gcc2 - }@ # x86 +# The packages we build. Each is defined in its own file in the packages/ +# subdirectory. +local packages = + Haiku + HaikuDevel + HaikuUserguide + HaikuWelcome + MakefileEngine ; -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 ; +packages = $(packages:G=package-rules) ; +SEARCH on $(packages) = [ FDirName $(HAIKU_BUILD_RULES_DIR) packages ] ; -AddFilesToPackage add-ons kernel network : <net>notifications stack ; -AddFilesToPackage add-ons kernel network : dns_resolver ; -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>gpt <disk_system>bfs <disk_system>ntfs ; - - -# 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 Jamfile ; - -# licenses -CopyDirectoryToPackage data - : [ FDirName $(HAIKU_TOP) data system data licenses ] - : licenses ; - -# Copy documentation as per DiskUsage's license requirement. -CopyDirectoryToPackage documentation - : [ FDirName $(HAIKU_TOP) docs apps diskusage ] - : diskusage ; - -# Copy documentation and sample programs as per PDFlib Lite's license -# requirement. -CopyDirectoryToPackage documentation - : [ FDirName $(HAIKU_TOP) src libs pdflib doc ] - : pdflib ; -CopyDirectoryToPackage develop sample-code - : [ FDirName $(HAIKU_TOP) src libs pdflib bind pdflib ] - : pdflib ; - - -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) ; - } +local package ; +for package in $(packages) { + include $(package) ; } - -# static libraries -AddFilesToPackage $(developDirTokens) lib : liblocalestub.a ; - -# the POSIX error code mapper library -AddFilesToPackage $(developDirTokens) lib : libposix_error_mapper.a ; - -# ABI independent stuff - -# scripts: freetype-config, setgcc -local scripts = freetype-config setgcc ; -SEARCH on $(scripts) = [ FDirName $(HAIKU_TOP) data bin ] ; -AddFilesToPackage bin : $(scripts) ; - -# headers -AddHeaderDirectoryToPackage config ; -AddHeaderDirectoryToPackage glibc ; -AddHeaderDirectoryToPackage os ; -AddHeaderDirectoryToPackage posix ; - -# private headers -AddHeaderDirectoryToPackage private ; -CopyDirectoryToPackage develop headers private libs compat - : [ FDirName $(HAIKU_TOP) src libs compat freebsd_network ] - : : -x *.c -x *.cpp -x *.awk -x Jamfile -x miidevs ; -CopyDirectoryToPackage develop headers private libs compat - : [ FDirName $(HAIKU_TOP) src libs compat freebsd_wlan ] - : : -x *.c -x Jamfile ; - -# 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 termcap : 3rdparty ; -AddHeaderDirectoryToPackage libs tiff : 3rdparty ; - -CopyDirectoryToPackage develop headers : - [ FDirName $(HAIKU_FREETYPE_DIR) develop headers 3rdparty ] ; -CopyDirectoryToPackage develop headers : $(HAIKU_JPEG_HEADERS) : 3rdparty ; -CopyDirectoryToPackage develop headers : $(HAIKU_LIBPNG_HEADERS) : 3rdparty ; -CopyDirectoryToPackage develop headers : $(HAIKU_ZLIB_HEADERS) : 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 ; -} - -# OpenGL headers -if $(TARGET_ARCH) = x86 { - CopyDirectoryToPackage $(developDirTokens) headers os opengl - : [ FDirName $(HAIKU_MESA_HEADERS) GL ] ; - CopyDirectoryToPackage $(developDirTokens) headers os opengl - : [ FDirName $(HAIKU_GLU_HEADERS) GL ] ; -} - -BuildHaikuPackage $(haikuDevelPackage) : haiku_devel ; - - -#pragma mark - haiku_userguide.hpkg - - -local haikuUserGuidePackage = haiku_userguide.hpkg ; -HaikuPackage $(haikuUserGuidePackage) ; - -CopyDirectoryToPackage documentation : [ FDirName $(HAIKU_TOP) docs userguide ] - : userguide ; -SEARCH on userguide = [ FDirName $(HAIKU_TOP) data bin ] ; -AddFilesToPackage bin : userguide ; - -BuildHaikuPackage $(haikuUserGuidePackage) : haiku_userguide ; - - -#pragma mark - haiku_welcome.hpkg - - -local haikuWelcomePackage = haiku_welcome.hpkg ; -HaikuPackage $(haikuWelcomePackage) ; - -CopyDirectoryToPackage documentation : [ FDirName $(HAIKU_TOP) docs welcome ] - : welcome ; -SEARCH on welcome = [ FDirName $(HAIKU_TOP) data bin ] ; -AddFilesToPackage bin : welcome ; - -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 ; diff --git a/build/jam/packages/Haiku b/build/jam/packages/Haiku new file mode 100644 index 0000000..3f436c2 --- /dev/null +++ b/build/jam/packages/Haiku @@ -0,0 +1,389 @@ +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 : <agp_gart>intel@x86 ; + +if $(HAIKU_ATA_STACK) = 1 { + AddFilesToPackage add-ons kernel busses ata + : generic_ide_pci it8211 legacy_sata silicon_image_3112 ide_isa@x86 ; +} else { + AddFilesToPackage add-ons kernel busses ide + : generic_ide_pci it8211 legacy_sata silicon_image_3112 ide_isa@x86 ; +} + +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 <kdebug>disasm@x86 <kdebug>hangman + <kdebug>invalidate_on_exit <kdebug>usb_keyboard <kdebug>qrencode + <kdebug>run_on_exit ; +AddFilesToPackage add-ons kernel file_systems : $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ; +AddFilesToPackage add-ons kernel generic + : ata_adapter@ata bios@x86 dpc ide_adapter@ide + 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 : openpic@ppc ; + +if $(TARGET_ARCH) = x86 { + AddFilesToPackage add-ons kernel cpu : generic_x86 ; +} + +# drivers +AddNewDriversToPackage disk scsi : scsi_cd scsi_disk ; +AddNewDriversToPackage power : enhanced_speedstep@x86 ; +AddNewDriversToPackage power : acpi_battery@x86 ; +#AddNewDriversToPackage display : display_controls@x86 ; + +# 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 : pc_floppy@x86 ; +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) built-in +SYSTEM_LIBS_LIBGL_ALIASES = libGLU.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) +; + +OPTIONAL_LIBS_ALIASES = + libfreetype.so + libjpeg.so + libpng.so + libz.so +; + +# TODO: Remove the following symlinks when the libraries have been packaged +# properly! +# libfreetype.so links to the current freetype lib +AddSymlinkToPackage lib : $(HAIKU_FREETYPE_CURRENT_LIB:BS) + : $(HAIKU_FREETYPE_CURRENT_LINK) : : true ; +AddSymlinkToPackage lib : $(HAIKU_FREETYPE_CURRENT_LINK) + : libfreetype.so : : true ; + +# libpng.so links to the current libpng +AddSymlinkToPackage lib : $(HAIKU_LIBPNG_CURRENT_LIB:BS) + : $(HAIKU_LIBPNG_CURRENT_LINK) : : true ; +AddSymlinkToPackage lib : $(HAIKU_LIBPNG_CURRENT_LINK) + : libpng.so : : true ; + +# libjpeg.so links to the current libjpeg +AddSymlinkToPackage lib : $(HAIKU_JPEG_CURRENT_LIB:BS) + : $(HAIKU_JPEG_CURRENT_LINK) : : true ; +AddSymlinkToPackage lib : $(HAIKU_JPEG_CURRENT_LINK) + : libjpeg.so : : true ; + +# zlib.so links to the current zlib +AddSymlinkToPackage lib : $(HAIKU_ZLIB_CURRENT_LIB:BS) + : $(HAIKU_ZLIB_CURRENT_LINK) : : true ; +AddSymlinkToPackage lib : $(HAIKU_ZLIB_CURRENT_LINK) + : libz.so : : true ; + +# servers +AddFilesToPackage servers : $(SYSTEM_SERVERS) ; + +# apps +AddFilesToPackage : runtime_loader 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 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 : less : more ; +AddSymlinkToPackage bin : gzip : gunzip ; +AddSymlinkToPackage bin : gzip : zcat ; +AddSymlinkToPackage bin : zdiff : zcmp ; +AddSymlinkToPackage bin : unzip : zipinfo ; +AddSymlinkToPackage bin : gawk : awk ; + +# 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) ; + +# post install scripts +local postInstallFiles = add_catalog_entry_attributes.sh + default_deskbar_items.sh mime_update.sh ; +postInstallFiles = $(postInstallFiles:G=post-install) ; +SEARCH on $(postInstallFiles) + = [ FDirName $(HAIKU_TOP) data common boot post_install ] ; +AddFilesToPackage boot post_install : $(postInstallFiles) ; + +# Gutenprint data files +CopyDirectoryToPackage data + : [ FDirName $(HAIKU_TOP) src libs print libgutenprint src xml ] + : gutenprint : -x *.c -x Makefile.am -x Makefile.in ; + +# 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) ; + +# 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 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 ; + # TODO: If those serve any purpose, they should probably live in a writable + # subtree. + +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 ; + +# Copy keyboard layout files to the image one-by-one. +local keyboardLayoutsDir + = [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts ] ; +local keyboardLayoutFiles = + "Generic 104-key" + "Generic 105-key International" + "Kinesis Advantage" + "Kinesis Ergo Elan International" + "TypeMatrix 2030" ; +keyboardLayoutFiles = $(keyboardLayoutFiles:G=keyboard-layout) ; +SEARCH on $(keyboardLayoutFiles) = $(keyboardLayoutsDir) ; +AddFilesToPackage data KeyboardLayouts + : $(keyboardLayoutFiles) ; + +# Add Apple Aluminum keyboard layout files to the image in an Apple Aluminum +# subdirectory. The subdirectory is turned into a submenu in the Layout menu +# of the Keymap preference app. +local appleAluminumDir + = [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts + Apple\ Aluminum ] ; +local appleAluminumFiles = + "Apple Aluminium Extended International" + "Apple Aluminium International" + "Apple Aluminum (US)" + "Apple Aluminum Extended (US)" ; +appleAluminumFiles = $(appleAluminumFiles:G=keyboard-layout) ; +SEARCH on $(appleAluminumFiles) = $(appleAluminumDir) ; +AddFilesToPackage data KeyboardLayouts Apple\ Aluminum + : $(appleAluminumFiles) ; + +# Add ThinkPad keyboard layout files to the image in a ThinkPad +# subdirectory. The subdirectory is turned into a submenu in the Layout menu +# of the Keymap preference app. +local thinkpadDir + = [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts ThinkPad ] ; +local thinkPadFiles = + "ThinkPad (US)" + "ThinkPad International" + "ThinkPad T400s (US)" + "ThinkPad T400s International" + "ThinkPad X1 (US)" + "ThinkPad X1 International" + "ThinkPad X100e (US)" + "ThinkPad X100e International" ; +thinkPadFiles = $(thinkPadFiles:G=keyboard-layout) ; +SEARCH on $(thinkPadFiles) = $(thinkpadDir) ; +AddFilesToPackage data KeyboardLayouts ThinkPad + : $(thinkPadFiles) ; + +# boot loader +AddFilesToPackage : haiku_loader ; + +# boot module links +AddBootModuleSymlinksToPackage + acpi@x86 ata@ata pci isa@x86 config_manager dpc + ide@ide scsi usb + openpic@ppc + ata_adapter@ata ide_adapter@ide locked_pool scsi_periph + ahci generic_ide_pci it8211 legacy_sata silicon_image_3112 + ide_isa@x86 + <usb>uhci <usb>ohci <usb>ehci + scsi_cd scsi_disk usb_disk + efi_gpt + intel + bfs packagefs +; + +# add-ons +AddFilesToPackage add-ons accelerants : $(SYSTEM_ADD_ONS_ACCELERANTS) ; +AddFilesToPackage add-ons Translators : $(SYSTEM_ADD_ONS_TRANSLATORS) ; +AddFilesToPackage add-ons locale catalogs : $(SYSTEM_ADD_ONS_LOCALE_CATALOGS) ; + +AddFilesToPackage add-ons opengl : + x86 @{ + Legacy\ Software\ Rasterizer@gcc2 + Software\ Rasterizer@!gcc2 + }@ # x86 +; + +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 : dns_resolver ; +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>gpt <disk_system>bfs <disk_system>ntfs ; + + +# 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 Jamfile ; + +# licenses +CopyDirectoryToPackage data + : [ FDirName $(HAIKU_TOP) data system data licenses ] + : licenses ; + +# Copy documentation as per DiskUsage's license requirement. +CopyDirectoryToPackage documentation + : [ FDirName $(HAIKU_TOP) docs apps diskusage ] + : diskusage ; + +# Copy documentation and sample programs as per PDFlib Lite's license +# requirement. +CopyDirectoryToPackage documentation + : [ FDirName $(HAIKU_TOP) src libs pdflib doc ] + : pdflib ; +CopyDirectoryToPackage develop sample-code + : [ FDirName $(HAIKU_TOP) src libs pdflib bind pdflib ] + : pdflib ; + + +BuildHaikuPackage $(haikuPackage) : haiku ; diff --git a/build/jam/packages/HaikuDevel b/build/jam/packages/HaikuDevel new file mode 100644 index 0000000..f815e0a --- /dev/null +++ b/build/jam/packages/HaikuDevel @@ -0,0 +1,95 @@ +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 : liblocalestub.a ; + +# the POSIX error code mapper library +AddFilesToPackage $(developDirTokens) lib : libposix_error_mapper.a ; + +# ABI independent stuff + +# scripts: freetype-config, setgcc +local scripts = freetype-config setgcc ; +SEARCH on $(scripts) = [ FDirName $(HAIKU_TOP) data bin ] ; +AddFilesToPackage bin : $(scripts) ; + +# headers +AddHeaderDirectoryToPackage config ; +AddHeaderDirectoryToPackage glibc ; +AddHeaderDirectoryToPackage os ; +AddHeaderDirectoryToPackage posix ; + +# private headers +AddHeaderDirectoryToPackage private ; +CopyDirectoryToPackage develop headers private libs compat + : [ FDirName $(HAIKU_TOP) src libs compat freebsd_network ] + : : -x *.c -x *.cpp -x *.awk -x Jamfile -x miidevs ; +CopyDirectoryToPackage develop headers private libs compat + : [ FDirName $(HAIKU_TOP) src libs compat freebsd_wlan ] + : : -x *.c -x Jamfile ; + +# 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 termcap : 3rdparty ; +AddHeaderDirectoryToPackage libs tiff : 3rdparty ; + +CopyDirectoryToPackage develop headers : + [ FDirName $(HAIKU_FREETYPE_DIR) develop headers 3rdparty ] ; +CopyDirectoryToPackage develop headers : $(HAIKU_JPEG_HEADERS) : 3rdparty ; +CopyDirectoryToPackage develop headers : $(HAIKU_LIBPNG_HEADERS) : 3rdparty ; +CopyDirectoryToPackage develop headers : $(HAIKU_ZLIB_HEADERS) : 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 ; +} + +# OpenGL headers +if $(TARGET_ARCH) = x86 { + CopyDirectoryToPackage $(developDirTokens) headers os opengl + : [ FDirName $(HAIKU_MESA_HEADERS) GL ] ; + CopyDirectoryToPackage $(developDirTokens) headers os opengl + : [ FDirName $(HAIKU_GLU_HEADERS) GL ] ; +} + +BuildHaikuPackage $(haikuDevelPackage) : haiku_devel ; diff --git a/build/jam/packages/HaikuUserguide b/build/jam/packages/HaikuUserguide new file mode 100644 index 0000000..00ca0da --- /dev/null +++ b/build/jam/packages/HaikuUserguide @@ -0,0 +1,9 @@ +local haikuUserGuidePackage = haiku_userguide.hpkg ; +HaikuPackage $(haikuUserGuidePackage) ; + +CopyDirectoryToPackage documentation : [ FDirName $(HAIKU_TOP) docs userguide ] + : userguide ; +SEARCH on userguide = [ FDirName $(HAIKU_TOP) data bin ] ; +AddFilesToPackage bin : userguide ; + +BuildHaikuPackage $(haikuUserGuidePackage) : haiku_userguide ; diff --git a/build/jam/packages/HaikuWelcome b/build/jam/packages/HaikuWelcome new file mode 100644 index 0000000..484d10d --- /dev/null +++ b/build/jam/packages/HaikuWelcome @@ -0,0 +1,9 @@ +local haikuWelcomePackage = haiku_welcome.hpkg ; +HaikuPackage $(haikuWelcomePackage) ; + +CopyDirectoryToPackage documentation : [ FDirName $(HAIKU_TOP) docs welcome ] + : welcome ; +SEARCH on welcome = [ FDirName $(HAIKU_TOP) data bin ] ; +AddFilesToPackage bin : welcome ; + +BuildHaikuPackage $(haikuWelcomePackage) : haiku_welcome ; diff --git a/build/jam/packages/MakefileEngine b/build/jam/packages/MakefileEngine new file mode 100644 index 0000000..cd3b7ce --- /dev/null +++ b/build/jam/packages/MakefileEngine @@ -0,0 +1,12 @@ +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 ; ############################################################################ Commit: bc07db8f0afd325e38f1c8a17cdf3aea2d62c12d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun May 5 16:31:02 2013 UTC Declare more package dependencies Probably still a lot missing, but we want to get rid of the file soon, anyway. ---------------------------------------------------------------------------- diff --git a/build/jam/OptionalPackageDependencies b/build/jam/OptionalPackageDependencies index f9ae5da..4061d6e 100644 --- a/build/jam/OptionalPackageDependencies +++ b/build/jam/OptionalPackageDependencies @@ -22,16 +22,17 @@ OptionalPackageDependencies GitDoc : Man Git ; OptionalPackageDependencies ICU-devel : DevelopmentBase ; OptionalPackageDependencies LibEdit : NCurses ; OptionalPackageDependencies LibLayout : DevelopmentBase ; +OptionalPackageDependencies LibSolv : Expat ; OptionalPackageDependencies LibXML2 : XZ-Utils ; OptionalPackageDependencies Man : Groff ; OptionalPackageDependencies Tar : LibIconv ; -OptionalPackageDependencies Python : Bzip ; +OptionalPackageDependencies Python : Bzip OpenSSL SQLite Readline ; OptionalPackageDependencies Mercurial : Python ; OptionalPackageDependencies Nano : NCurses ; OptionalPackageDependencies Neon : LibXML2 ; OptionalPackageDependencies NetFS : UserlandFS ; OptionalPackageDependencies NetSurf : OpenSSL Curl LibXML2 LibIconv Libmng ; -OptionalPackageDependencies OpenSSH : OpenSSL ; +OptionalPackageDependencies OpenSSH : LibEdit OpenSSL ; OptionalPackageDependencies OpenSSL : CARootCertificates ; OptionalPackageDependencies Paladin : CCache Fastdep PCRE ; OptionalPackageDependencies Pe : PCRE ;