[haiku-commits] BRANCH HaikuPM-github.package-management [bc07db8] in build/jam: . packages

  • From: HaikuPM-github.package-management <community@xxxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sun, 5 May 2013 18:45:29 +0200 (CEST)

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 ;


Other related posts:

  • » [haiku-commits] BRANCH HaikuPM-github.package-management [bc07db8] in build/jam: . packages - HaikuPM-github . package-management