OptionalBuildFeatures -> BuildFeatures, make use of new rules

Got rid of X86_ONLY and friends in HaikuImage, FloppyBootImage, etc.
Instead we use build feature specification annotated lists with
FFilterByBuildFeatures (either explicitly or implicitly where passing
the list directly to the image rules).

I just translated the variables to the respective annotatation in most
cases, though in some cases different annotation would be more correct
(e.g. for the OpenGL stuff).

Provides a simple framework for addressing #3798. The interested reader
may add the build features and add/adjust the annotations accordingly.
This commit is contained in:
Ingo Weinhold 2012-12-09 04:07:29 +01:00
parent 33c254876c
commit f0cacbb32b
12 changed files with 191 additions and 216 deletions

View File

@ -135,13 +135,13 @@ if $(HAIKU_ADD_OPTIONAL_PACKAGES) {
}
# Prepare the optional build features before parsing the Jamfile tree.
include [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalBuildFeatures ] ;
include [ FDirName $(HAIKU_BUILD_RULES_DIR) BuildFeatures ] ;
# Include packages that are required by all images.
AddOptionalHaikuImagePackages MandatoryPackages ;
# If enabled, make sure that OpenSSL is added to the image.
if $(HAIKU_OPENSSL_ENABLED) {
if $(HAIKU_BUILD_FEATURE_OPENSSL_ENABLED) {
AddOptionalHaikuImagePackages OpenSSL ;
}

View File

@ -1,6 +1,12 @@
# This file contains setup for features that can optionally be used for the
# build. For features that require downloading a zip file from somewhere it is
# likely the same file use for an optional package.
# This file contains setup for build features that are not available for all
# architectures/setups or that are optional for the build. For features that
# require downloading a zip file from somewhere it is likely the same file used
# for an optional package.
# Add the target architecture as a build feature.
EnableBuildFeatures $(HAIKU_ARCH) ;
# Detect a hybrid GCC2/GCC4 image and disable the checks for unavailable GCC4
# packages. (It does not matter if a package was built with either compiler,
@ -56,9 +62,10 @@ if $(HAIKU_BUILD_FEATURE_SSL) {
: extracted-openssl
] ;
HAIKU_OPENSSL_ENABLED = 1 ;
HAIKU_OPENSSL_HEADERS
= [ FDirName $(HAIKU_OPENSSL_DIR) common include ] ;
EnableBuildFeatures openssl ;
}
}
@ -72,7 +79,7 @@ HAIKU_ICU_PPC_PACKAGE = icu-4.8.1-ppc-2011-08-20.zip ;
HAIKU_ICU_ARM_PACKAGE = icu-4.8.1.1-arm-2012-11-21.zip ;
HAIKU_ICU_X86_64_PACKAGE = icu-4.8.1.1-x86_64-2012-07-30.zip ;
if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = arm || $(TARGET_ARCH) = x86_64 {
if $(TARGET_ARCH) in arm ppc x86 x86_64 {
local icu_package ;
if $(TARGET_ARCH) = ppc {
icu_package = $(HAIKU_ICU_PPC_PACKAGE) ;
@ -140,6 +147,8 @@ if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = arm || $(TAR
HAIKU_ICU_HEADERS
= [ FDirName $(HAIKU_ICU_DEVEL_DIR) develop headers 3rdparty ] ;
EnableBuildFeatures icu ;
} else {
Echo "ICU not available for $(TARGET_ARCH)" ;
}
@ -184,6 +193,8 @@ if $(HAIKU_BUILD_FEATURE_CLUCENE) {
HAIKU_CLUCENE_HEADERS
= [ FDirName $(HAIKU_CLUCENE_DIR) common include ] ;
EnableBuildFeatures clucene ;
}
}
@ -206,6 +217,8 @@ if $(TARGET_ARCH) = x86 {
HAIKU_GLU_LIBS = [ ExtractArchive $(HAIKU_GLU_DIR)
: system/lib/libGLU.a : $(zipFile) : extracted-glu ] ;
HAIKU_GLU_HEADERS = [ FDirName $(HAIKU_GLU_DIR) develop headers os opengl ] ;
EnableBuildFeatures glu ;
} else {
Echo "GLU not yet available on $(TARGET_ARCH)" ;
}
@ -247,6 +260,7 @@ if $(TARGET_ARCH) = x86 {
Depends $(HAIKU_MESA_HEADERS_DEPENDENCY) : $(HAIKU_GLU_HEADERS_DEPENDENCY) ;
Depends $(HAIKU_MESA_LIBS) : $(HAIKU_GLU_LIBS) ;
EnableBuildFeatures mesa ;
} else {
Echo "Mesa 3D rendering support not available on $(TARGET_ARCH)" ;
}
@ -369,6 +383,7 @@ if $(TARGET_ARCH) = x86 {
HAIKU_LIBOGG_HEADERS = [ FDirName $(HAIKU_LIBOGG_DIR) common include ] ;
HAIKU_LIBVPX_HEADERS = [ FDirName $(HAIKU_LIBVPX_DIR) common include ] ;
EnableBuildFeatures ffmpeg ;
} else {
Echo "FFMpeg support not available on $(TARGET_ARCH)" ;
}
@ -401,6 +416,7 @@ if $(TARGET_ARCH) = x86 {
HAIKU_MIKMOD_HEADERS = [ FDirName $(HAIKU_MIKMOD_DIR) common include ] ;
EnableBuildFeatures mikmod ;
} else {
Echo "MikMod support not available on $(TARGET_ARCH)" ;
}
@ -448,6 +464,8 @@ if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 || $(
HAIKU_FREETYPE_HEADERS = [ FDirName $(HAIKU_FREETYPE_DIR) develop
headers 3rdparty ] [ FDirName $(HAIKU_FREETYPE_DIR) develop
headers 3rdparty freetype2 ] ;
EnableBuildFeatures freetype ;
} else {
Echo "Freetype support not available on $(TARGET_ARCH)" ;
}
@ -492,6 +510,8 @@ if $(HAIKU_BUILD_FEATURE_TAGLIB) {
HAIKU_TAGLIB_HEADERS
= [ FDirName $(HAIKU_TAGLIB_DIR) common include taglib ] ;
EnableBuildFeatures taglib ;
}
}
@ -535,6 +555,8 @@ if $(HAIKU_BUILD_FEATURE_WEBKIT) {
] ;
HAIKU_WEBKIT_HEADERS = [ FDirName $(HAIKU_WEBKIT_DIR) include ] ;
EnableBuildFeatures webkit ;
}
}
@ -578,13 +600,15 @@ if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 || $(
HAIKU_LIBPNG_CURRENT_LINK = libpng15.so.15 ;
HAIKU_LIBPNG_HEADERS = [ FDirName $(HAIKU_LIBPNG_DIR) common include ] ;
EnableBuildFeatures libpng ;
} else {
Echo "libpng support not available on $(TARGET_ARCH)" ;
}
# jpeg
local jpegBaseURL = $(baseURL)/lib ;
if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 || $(TARGET_ARCH) = arm {
if $(TARGET_ARCH) in arm ppc x86 x86_64 {
if $(TARGET_ARCH) = arm {
HAIKU_JPEG_FILE = jpeg-8d-arm-2012-11-21.zip ;
} else if $(TARGET_ARCH) = ppc {
@ -622,6 +646,8 @@ if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 || $(
HAIKU_JPEG_CURRENT_LINK = libjpeg.so.8 ;
HAIKU_JPEG_HEADERS = [ FDirName $(HAIKU_JPEG_DIR) common include ] ;
EnableBuildFeatures libjpeg ;
} else {
Echo "jpeg support not available on $(TARGET_ARCH)" ;
}
@ -666,6 +692,23 @@ if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 || $(
HAIKU_ZLIB_CURRENT_LINK = libz.so.1 ;
HAIKU_ZLIB_HEADERS = [ FDirName $(HAIKU_ZLIB_DIR) common include ] ;
EnableBuildFeatures zlib ;
} else {
Echo "zlib support not available on $(TARGET_ARCH)" ;
}
# GPL add-ons
if $(HAIKU_INCLUDE_GPL_ADDONS) = 1 {
EnableBuildFeatures gpl ;
}
# ATA vs. IDE
#HACK: remove when old ide code is removed!
if $(HAIKU_ATA_STACK) = 1 {
EnableBuildFeatures ata ;
} else {
EnableBuildFeatures ide ;
}

View File

@ -1,32 +1,8 @@
# This file defines what ends up in the floppy boot image and it executes the
# rules building the image.
local X86_ONLY = ;
local PPC_ONLY = ;
local ARM_ONLY = ;
if $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 {
X86_ONLY = "" ;
} else if $(TARGET_ARCH) = ppc {
X86_ONLY = ;
} else if $(TARGET_ARCH) = m68k {
X86_ONLY = ;
} else if $(TARGET_ARCH) = arm {
ARM_ONLY = "" ;
}
local GPL_ONLY = ;
if $(HAIKU_INCLUDE_GPL_ADDONS) = 1 {
GPL_ONLY = "" ;
}
#HACK: remove when old ide code is removed!
local ATA_ONLY = ;
local IDE_ONLY = ;
if $(HAIKU_ATA_STACK) = 1 {
ATA_ONLY = "" ;
} else {
IDE_ONLY = "" ;
}
local NET_BOOT = 0 ;
local USB_BOOT = 1 ;
@ -49,9 +25,10 @@ if $(NET_BOOT) = 1 {
;
}
SYSTEM_ADD_ONS_BUS_MANAGERS = $(X86_ONLY)acpi $(ATA_ONLY)ata config_manager dpc pci
$(IDE_ONLY)ide $(X86_ONLY)isa scsi $(USB_ONLY)usb
;
SYSTEM_ADD_ONS_BUS_MANAGERS = [ FFilterByBuildFeatures
acpi@x86 ata@ata config_manager dpc pci
ide@ide isa@x86 scsi $(USB_ONLY)usb
] ;
SYSTEM_ADD_ONS_FILE_SYSTEMS = bfs iso9660 attribute_overlay write_overlay ;
@ -87,11 +64,11 @@ if $(TARGET_ARCH) = x86_64 {
if $(HAIKU_ATA_STACK) = 1 {
AddFilesToFloppyBootArchive system add-ons kernel busses ata
: generic_ide_pci $(X86_ONLY)ide_isa silicon_image_3112 legacy_sata
: generic_ide_pci ide_isa@x86 silicon_image_3112 legacy_sata
it8211 ;
} else {
AddFilesToFloppyBootArchive system add-ons kernel busses ide
: generic_ide_pci $(X86_ONLY)ide_isa silicon_image_3112 legacy_sata
: generic_ide_pci ide_isa@x86 silicon_image_3112 legacy_sata
it8211 ;
}
@ -101,11 +78,11 @@ if $(TARGET_ARCH) = x86_64 {
AddFilesToFloppyBootArchive system add-ons kernel file_systems
: $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ;
AddFilesToFloppyBootArchive system add-ons kernel generic
: $(ATA_ONLY)ata_adapter $(IDE_ONLY)ide_adapter locked_pool scsi_periph ;
: ata_adapter@ata ide_adapter@ide locked_pool scsi_periph ;
AddFilesToFloppyBootArchive system add-ons kernel partitioning_systems
: intel session ;
AddFilesToFloppyBootArchive system add-ons kernel interrupt_controllers
: $(PPC_ONLY)openpic ;
: openpic@ppc ;
if $(USB_BOOT) = 1 {
AddFilesToFloppyBootArchive system add-ons kernel busses usb
@ -118,7 +95,7 @@ if $(TARGET_ARCH) = x86_64 {
# drivers
AddNewDriversToFloppyBootArchive disk scsi : scsi_cd scsi_disk ;
AddNewDriversToFloppyBootArchive disk : $(ARM_ONLY)norflash ;
AddNewDriversToFloppyBootArchive disk : norflash@arm ;
if $(USB_BOOT) = 1 {
AddDriversToFloppyBootArchive disk usb : usb_disk ;
}
@ -166,13 +143,13 @@ if $(TARGET_ARCH) = x86_64 {
} else {
AddBootModuleSymlinksToFloppyBootArchive
$(SYSTEM_ADD_ONS_BUS_MANAGERS)
$(PPC_ONLY)openpic
$(ATA_ONLY)ata_adapter $(IDE_ONLY)ide_adapter locked_pool scsi_periph
$(X86_ONLY)generic_x86
ahci generic_ide_pci $(X86_ONLY)ide_isa silicon_image_3112 legacy_sata
openpic@ppc
ata_adapter@ata ide_adapter@ide locked_pool scsi_periph
generic_x86@x86
ahci generic_ide_pci ide_isa@x86 silicon_image_3112 legacy_sata
it8211
$(USB_ONLY)<usb>uhci $(USB_ONLY)<usb>ohci $(USB_ONLY)<usb>ehci
scsi_cd scsi_disk $(USB_ONLY)usb_disk $(ARM_ONLY)norflash
scsi_cd scsi_disk $(USB_ONLY)usb_disk norflash@arm
intel session
$(SYSTEM_ADD_ONS_FILE_SYSTEMS)
$(BOOT_ADD_ONS_NET)

View File

@ -5,19 +5,6 @@
# This is only temporary while x86_64 is still a work in progress, so I can
# easily add things to the image as I port them.
local GPL_ONLY = ;
if $(HAIKU_INCLUDE_GPL_ADDONS) = 1 {
GPL_ONLY = "" ;
}
#HACK: remove when old ide code is removed!
local ATA_ONLY = ;
local IDE_ONLY = ;
if $(HAIKU_ATA_STACK) = 1 {
ATA_ONLY = "" ;
} else {
IDE_ONLY = "" ;
}
SYSTEM_BIN = "[" addattr base64 basename bash beep cal cat catattr checkfs
chgrp chmod chown chroot cksum clear clockconfig cmp collectcatkeys comm
@ -85,8 +72,9 @@ SYSTEM_ADD_ONS_DRIVERS_NET = 3com atheros813x ar81xx attansic_l1 attansic_l2
via_rhine wb840
;
SYSTEM_ADD_ONS_BUS_MANAGERS = $(ATA_ONLY)ata pci ps2 isa scsi config_manager
usb ;
SYSTEM_ADD_ONS_BUS_MANAGERS = [ FFilterByBuildFeatures
ata@ata pci ps2 isa scsi config_manager usb
] ;
SYSTEM_ADD_ONS_FILE_SYSTEMS = bfs iso9660 attribute_overlay write_overlay ;
# modules
@ -107,7 +95,7 @@ AddFilesToHaikuImage system add-ons kernel debugger
AddFilesToHaikuImage system add-ons kernel file_systems
: $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ;
AddFilesToHaikuImage system add-ons kernel generic
: $(ATA_ONLY)ata_adapter bios dpc locked_pool scsi_periph <module>tty ;
: ata_adapter@ata bios dpc locked_pool scsi_periph <module>tty ;
AddFilesToHaikuImage system add-ons kernel partitioning_systems
: intel session ;
@ -174,7 +162,7 @@ AddFilesToHaikuImage system bin : install-wifi-firmwares.sh ;
# Add the files to be used by installoptionalpackage.
AddDirectoryToHaikuImage common data optional-packages ;
local optional-pkg-files = OptionalBuildFeatures OptionalPackageDependencies
local optional-pkg-files = BuildFeatures OptionalPackageDependencies
OptionalPackages OptionalLibPackages ;
for name in $(optional-pkg-files) {
local file = [ FDirName $(HAIKU_TOP) build jam $(name) ] ;
@ -358,7 +346,7 @@ AddFilesToHaikuImage system : haiku_loader ;
# boot module links
AddBootModuleSymlinksToHaikuImage
$(ATA_ONLY)ata pci config_manager dpc scsi usb $(ATA_ONLY)ata_adapter
ata@ata pci config_manager dpc scsi usb ata_adapter@ata
locked_pool scsi_periph ahci generic_ide_pci legacy_sata
<usb>uhci <usb>ohci <usb>ehci
scsi_cd scsi_disk usb_disk

View File

@ -2,35 +2,9 @@
# installation directory) and it executes the rules building the image
# (respectively installing the files in the installation directory).
local X86_ONLY = ;
local PPC_ONLY = ;
local M68K_ONLY = ;
local ARM_ONLY = ;
if $(TARGET_ARCH) = x86 {
X86_ONLY = "" ;
} else if $(TARGET_ARCH) = ppc {
PPC_ONLY = "" ;
} else if $(TARGET_ARCH) = m68k {
M68K_ONLY = "" ;
} else if $(TARGET_ARCH) = arm {
ARM_ONLY = "" ;
}
local GPL_ONLY = ;
if $(HAIKU_INCLUDE_GPL_ADDONS) = 1 {
GPL_ONLY = "" ;
}
#HACK: remove when old ide code is removed!
local ATA_ONLY = ;
local IDE_ONLY = ;
if $(HAIKU_ATA_STACK) = 1 {
ATA_ONLY = "" ;
} else {
IDE_ONLY = "" ;
}
SYSTEM_BIN = "[" addattr alert arp base64 basename bash bc beep bfsinfo
SYSTEM_BIN = [ FFilterByBuildFeatures
"[" addattr alert arp base64 basename bash bc beep bfsinfo
cal cat catattr checkfs checkitout chgrp chmod chop chown chroot cksum clear
clockconfig cmp collectcatkeys comm compress copyattr CortexAddOnHost cp
csplit cut date dc dd desklink df diff diff3 dircolors dirname
@ -38,10 +12,10 @@ SYSTEM_BIN = "[" addattr alert arp base64 basename bash bc beep bfsinfo
echo eject env error expand expr
factor false fdinfo ffm filepanel find finddir fmt fold fortune frcode
ftp ftpd funzip fwcontrol
gawk $(X86_ONLY)gdb getlimits grep groups gzip gzexe
gawk gdb@x86 getlimits grep groups gzip gzexe
hd head hey hostname
id ident ifconfig <bin>install installsound iroster isvolume
$(IDE_ONLY)ideinfo $(IDE_ONLY)idestatus
ideinfo@ide idestatus@ide
join kernel_debugger keymap kill
less lessecho lesskey link linkcatkeys listarea listattr listimage listdev
listport listres listsem listusb ln locale locate logger login logname ls
@ -64,38 +38,41 @@ SYSTEM_BIN = "[" addattr alert arp base64 basename bash bc beep bfsinfo
uname unchop unexpand unmount uniq unlink unrar unshar unzip unzipsfx
<bin>updatedb uptime urlwrapper useradd uudecode uuencode
vdir version vmstat
waitfor watch wc wget whoami $(X86_ONLY)writembr xargs xres yes
waitfor watch wc wget whoami writembr@x86 xargs xres yes
zdiff zforce zgrep zip zipcloak <bin>zipgrep zipnote zipsplit zmore znew
;
] ;
SYSTEM_APPS = AboutSystem ActivityMonitor $(X86_ONLY)BootManager CharacterMap
SYSTEM_APPS = [ FFilterByBuildFeatures
AboutSystem ActivityMonitor BootManager@x86 CharacterMap
CodyCam DeskCalc Devices DiskProbe DiskUsage DriveSetup CDPlayer Expander
$(X86_ONLY)GLInfo Icon-O-Matic Installer LaunchBox Magnify Mail
GLInfo@x86 Icon-O-Matic Installer LaunchBox Magnify Mail
MediaConverter MediaPlayer MidiPlayer NetworkStatus PackageInstaller People
PoorMan PowerStatus ProcessController Screenshot ShowImage SoundRecorder
StyledEdit Terminal TextSearch TV WebWatch Workspaces
;
SYSTEM_PREFERENCES = Appearance Backgrounds CPUFrequency DataTranslations
] ;
SYSTEM_PREFERENCES = [ FFilterByBuildFeatures
Appearance Backgrounds CPUFrequency DataTranslations
<preference>Deskbar E-mail FileTypes Keyboard Keymap Locale Media
Mouse Network Notifications Printers Screen ScreenSaver
Shortcuts Sounds Time Touchpad <preference>Tracker VirtualMemory
;
SYSTEM_DEMOS = BSnow Chart Clock Cortex FontDemo $(X86_ONLY)GLTeapot
$(HAIKU_INCLUDE_TRADEMARKS)$(X86_ONLY)Haiku3d Mandelbrot OverlayImage Pairs
] ;
SYSTEM_DEMOS = [ FFilterByBuildFeatures
BSnow Chart Clock Cortex FontDemo GLTeapot@x86
$(HAIKU_INCLUDE_TRADEMARKS)Haiku3d@x86 Mandelbrot OverlayImage Pairs
Playground Pulse Sudoku
;
SYSTEM_LIBS =
] ;
SYSTEM_LIBS = [ FFilterByBuildFeatures
libbe.so libbsd.so libbnetapi.so
libdebug.so libdevice.so
libgame.so $(X86_ONLY)libGL.so $(X86_ONLY)libglut.so
libgame.so libGL.so@x86 libglut.so@x86
libgnu.so libmail.so libmedia.so libmidi.so libmidi2.so
libnetwork.so
<revisioned>libroot.so libroot-addon-icu.so
libscreensaver.so
libtextencoding.so libtiff.so libtracker.so libtranslation.so
$(HAIKU_SHARED_LIBSTDC++) $(HAIKU_SHARED_LIBSUPC++)
;
PRIVATE_SYSTEM_LIBS =
] ;
PRIVATE_SYSTEM_LIBS = [ FFilterByBuildFeatures
$(HAIKU_JPEG_CURRENT_LIB)
$(HAIKU_LIBPNG_CURRENT_LIB)
$(HAIKU_ZLIB_CURRENT_LIB)
@ -103,11 +80,13 @@ PRIVATE_SYSTEM_LIBS =
libalm.so
libfluidsynth.so
libilmimf.so
;
SYSTEM_SERVERS = app_server cddb_daemon debug_server input_server mail_daemon
] ;
SYSTEM_SERVERS = [ FFilterByBuildFeatures
app_server cddb_daemon debug_server input_server mail_daemon
media_addon_server media_server midi_server mount_server net_server
notification_server power_daemon print_server print_addon_server registrar syslog_daemon
;
notification_server power_daemon print_server print_addon_server registrar
syslog_daemon
] ;
SYSTEM_NETWORK_DEVICES = ethernet loopback ;
SYSTEM_NETWORK_DATALINK_PROTOCOLS = ethernet_frame <module>arp loopback_frame
@ -115,17 +94,14 @@ SYSTEM_NETWORK_DATALINK_PROTOCOLS = ethernet_frame <module>arp loopback_frame
#SYSTEM_NETWORK_PPP = ipcp modem pap pppoe ;
SYSTEM_NETWORK_PROTOCOLS = ipv4 tcp udp icmp unix icmp6 ipv6 ;
SYSTEM_ADD_ONS_ACCELERANTS = $(X86_ONLY)radeon.accelerant
$(X86_ONLY)nvidia.accelerant $(X86_ONLY)matrox.accelerant
$(X86_ONLY)neomagic.accelerant $(X86_ONLY)intel_extreme.accelerant
$(X86_ONLY)s3.accelerant $(X86_ONLY)vesa.accelerant
$(X86_ONLY)ati.accelerant
$(X86_ONLY)3dfx.accelerant
$(X86_ONLY)radeon_hd.accelerant
$(X86_ONLY)intel_810.accelerant
#$(X86_ONLY)via.accelerant
#$(X86_ONLY)vmware.accelerant
;
SYSTEM_ADD_ONS_ACCELERANTS = [ FFilterByBuildFeatures
x86 @{
3dfx.accelerant ati.accelerant matrox.accelerant neomagic.accelerant
nvidia.accelerant intel_810.accelerant intel_extreme.accelerant
radeon.accelerant radeon_hd.accelerant s3.accelerant vesa.accelerant
#via.accelerant vmware.accelerant
}@ # x86
] ;
SYSTEM_ADD_ONS_TRANSLATORS = BMPTranslator EXRTranslator GIFTranslator
HVIFTranslator ICOTranslator JPEGTranslator JPEG2000Translator
PCXTranslator PNGTranslator PPMTranslator
@ -133,9 +109,10 @@ SYSTEM_ADD_ONS_TRANSLATORS = BMPTranslator EXRTranslator GIFTranslator
TIFFTranslator WebPTranslator WonderBrushTranslator ICNSTranslator
;
SYSTEM_ADD_ONS_LOCALE_CATALOGS = <catalog-addon>plaintext ;
SYSTEM_ADD_ONS_MEDIA = cortex_audioadapter.media_addon
SYSTEM_ADD_ONS_MEDIA = [ FFilterByBuildFeatures
cortex_audioadapter.media_addon
cortex_flanger.media_addon
$(X86_ONLY)dvb.media_addon
dvb.media_addon@x86
hmulti_audio.media_addon
mixer.media_addon
opensound.media_addon
@ -147,8 +124,10 @@ SYSTEM_ADD_ONS_MEDIA = cortex_audioadapter.media_addon
#legacy.media_addon
equalizer.media_addon
vst_host.media_addon
;
SYSTEM_ADD_ONS_MEDIA_PLUGINS = $(X86_ONLY)ffmpeg raw_decoder ;
] ;
SYSTEM_ADD_ONS_MEDIA_PLUGINS = [ FFilterByBuildFeatures
ffmpeg@ffmpeg raw_decoder
] ;
SYSTEM_ADD_ONS_PRINT =
Canon\ LIPS3\ Compatible
Canon\ LIPS4\ Compatible
@ -163,40 +142,45 @@ SYSTEM_ADD_ONS_PRINT_TRANSPORT = HP\ JetDirect IPP LPR
# Parallel\ Port
Print\ To\ File Serial\ Port USB\ Port
;
SYSTEM_ADD_ONS_SCREENSAVERS = Butterfly DebugNow $(X86_ONLY)Flurry
$(X86_ONLY)GLife $(HAIKU_INCLUDE_TRADEMARKS)Haiku Icons IFS Leaves
Message Spider ;
SYSTEM_ADD_ONS_SCREENSAVERS = [ FFilterByBuildFeatures
Butterfly DebugNow Flurry@x86
GLife@x86 $(HAIKU_INCLUDE_TRADEMARKS)Haiku Icons IFS Leaves
Message Spider
] ;
SYSTEM_ADD_ONS_DRIVERS_AUDIO = auich auvia echo3g emuxki hda ice1712 sis7018 ;
SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD = ; #cmedia usb_audio ;
SYSTEM_ADD_ONS_DRIVERS_GRAPHICS = $(X86_ONLY)radeon $(X86_ONLY)nvidia
$(X86_ONLY)neomagic $(X86_ONLY)matrox $(X86_ONLY)intel_extreme
$(X86_ONLY)s3 $(X86_ONLY)vesa #$(X86_ONLY)via #$(X86_ONLY)vmware
$(X86_ONLY)ati $(X86_ONLY)3dfx $(X86_ONLY)radeon_hd
$(X86_ONLY)intel_810
;
SYSTEM_ADD_ONS_DRIVERS_GRAPHICS = [ FFilterByBuildFeatures
x86 @{
ati 3dfx intel_810 intel_extreme matrox neomagic nvidia radeon radeon_hd
s3 vesa #via vmware
}@ # x86
] ;
SYSTEM_ADD_ONS_DRIVERS_MIDI = emuxki ice1712 usb_midi ;
SYSTEM_ADD_ONS_DRIVERS_NET = $(X86_ONLY)3com $(X86_ONLY)atheros813x
$(X86_ONLY)ar81xx $(X86_ONLY)attansic_l1 $(X86_ONLY)attansic_l2
$(X86_ONLY)broadcom440x $(X86_ONLY)broadcom570x $(X86_ONLY)dec21xxx etherpci
$(X86_ONLY)ipro100 $(X86_ONLY)ipro1000 $(X86_ONLY)jmicron2x0
$(X86_ONLY)marvell_yukon $(X86_ONLY)nforce $(X86_ONLY)pcnet pegasus
$(X86_ONLY)rtl8139 $(X86_ONLY)rtl81xx $(X86_ONLY)sis19x sis900
$(X86_ONLY)syskonnect usb_davicom usb_asix usb_ecm $(X86_ONLY)via_rhine
$(X86_ONLY)vt612x wb840
SYSTEM_ADD_ONS_DRIVERS_NET = [ FFilterByBuildFeatures
x86 @{
3com atheros813x ar81xx attansic_l1 attansic_l2 broadcom440x
broadcom570x dec21xxx ipro100 ipro1000 jmicron2x0 marvell_yukon nforce
pcnet rtl8139 rtl81xx sis19x syskonnect via_rhine vt612x
}@ # x86
etherpci pegasus sis900 usb_davicom usb_asix usb_ecm wb840
# WLAN drivers
$(X86_ONLY)aironetwifi $(X86_ONLY)atheroswifi $(X86_ONLY)broadcom43xx
$(X86_ONLY)iprowifi2100 $(X86_ONLY)iprowifi2200 $(X86_ONLY)iprowifi3945
$(X86_ONLY)iprowifi4965 $(X86_ONLY)marvell88w8363 $(X86_ONLY)marvell88w8335
$(X86_ONLY)ralink2860 $(X86_ONLY)ralinkwifi $(X86_ONLY)wavelanwifi
x86 @{
aironetwifi atheroswifi broadcom43xx
iprowifi2100 iprowifi2200 iprowifi3945
iprowifi4965 marvell88w8363 marvell88w8335
ralink2860 ralinkwifi wavelanwifi
}@ # x86
# WWAN drivers
#$(GPL_ONLY)usb_beceemwmx
;
SYSTEM_ADD_ONS_DRIVERS_POWER = $(X86_ONLY)acpi_button ;
SYSTEM_ADD_ONS_BUS_MANAGERS = $(ATA_ONLY)ata pci $(X86_ONLY)ps2 $(X86_ONLY)isa
$(IDE_ONLY)ide scsi config_manager agp_gart usb firewire $(X86_ONLY)acpi
;
#usb_beceemwmx@gpl
] ;
SYSTEM_ADD_ONS_DRIVERS_POWER = [ FFilterByBuildFeatures acpi_button@x86 ] ;
SYSTEM_ADD_ONS_BUS_MANAGERS = [ FFilterByBuildFeatures
ata@ata pci ps2@x86 isa@x86
ide@ide scsi config_manager agp_gart usb firewire acpi@x86
] ;
SYSTEM_ADD_ONS_FILE_SYSTEMS = bfs btrfs cdda exfat ext2 fat iso9660 nfs
attribute_overlay write_overlay ntfs reiserfs udf googlefs ;
@ -223,16 +207,14 @@ for driver in $(SYSTEM_ADD_ONS_DRIVERS_NET) {
AddFilesToHaikuImage system add-ons kernel bus_managers
: $(SYSTEM_ADD_ONS_BUS_MANAGERS) ;
AddFilesToHaikuImage system add-ons kernel busses agp_gart
: $(X86_ONLY)<agp_gart>intel ;
: <agp_gart>intel@x86 ;
if $(HAIKU_ATA_STACK) = 1 {
AddFilesToHaikuImage system add-ons kernel busses ata
: generic_ide_pci it8211 legacy_sata silicon_image_3112
$(X86_ONLY)ide_isa ;
: generic_ide_pci it8211 legacy_sata silicon_image_3112 ide_isa@x86 ;
} else {
AddFilesToHaikuImage system add-ons kernel busses ide
: generic_ide_pci it8211 legacy_sata silicon_image_3112
$(X86_ONLY)ide_isa ;
: generic_ide_pci it8211 legacy_sata silicon_image_3112 ide_isa@x86 ;
}
AddFilesToHaikuImage system add-ons kernel busses scsi
@ -241,18 +223,18 @@ AddFilesToHaikuImage system add-ons kernel busses usb
: <usb>uhci <usb>ohci <usb>ehci ;
AddFilesToHaikuImage system add-ons kernel console : vga_text ;
AddFilesToHaikuImage system add-ons kernel debugger
: <kdebug>demangle $(X86_ONLY)<kdebug>disasm <kdebug>hangman
: <kdebug>demangle <kdebug>disasm@x86 <kdebug>hangman
<kdebug>invalidate_on_exit <kdebug>usb_keyboard <kdebug>qrencode
<kdebug>run_on_exit ;
AddFilesToHaikuImage system add-ons kernel file_systems
: $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ;
AddFilesToHaikuImage system add-ons kernel generic
: $(ATA_ONLY)ata_adapter $(X86_ONLY)bios dpc $(IDE_ONLY)ide_adapter
locked_pool mpu401 scsi_periph <module>tty ; #$(X86_ONLY)cpuidle ;
: ata_adapter@ata bios@x86 dpc ide_adapter@ide
locked_pool mpu401 scsi_periph <module>tty ; #cpuidle@x86 ;
AddFilesToHaikuImage system add-ons kernel partitioning_systems
: amiga_rdb apple efi_gpt intel session ;
AddFilesToHaikuImage system add-ons kernel interrupt_controllers
: $(PPC_ONLY)openpic ;
: openpic@ppc ;
if $(TARGET_ARCH) = x86 {
AddFilesToHaikuImage system add-ons kernel cpu : generic_x86 ;
@ -260,9 +242,9 @@ if $(TARGET_ARCH) = x86 {
# drivers
AddNewDriversToHaikuImage disk scsi : scsi_cd scsi_disk ;
AddNewDriversToHaikuImage power : $(X86_ONLY)enhanced_speedstep ;
AddNewDriversToHaikuImage power : $(X86_ONLY)acpi_battery ;
#AddNewDriversToHaikuImage power : $(X86_ONLY)x86_cpuidle ;
AddNewDriversToHaikuImage power : enhanced_speedstep@x86 ;
AddNewDriversToHaikuImage power : acpi_battery@x86 ;
#AddNewDriversToHaikuImage power : x86_cpuidle@x86 ;
# legacy drivers
AddDriversToHaikuImage : console dprintf null
@ -271,7 +253,7 @@ AddDriversToHaikuImage audio hmulti : $(SYSTEM_ADD_ONS_DRIVERS_AUDIO) ;
AddDriversToHaikuImage audio old : $(SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD) ;
AddDriversToHaikuImage midi : $(SYSTEM_ADD_ONS_DRIVERS_MIDI) ;
AddDriversToHaikuImage bus : usb_raw fw_raw ;
AddDriversToHaikuImage disk floppy : $(X86_ONLY)pc_floppy ;
AddDriversToHaikuImage disk floppy : pc_floppy@x86 ;
AddDriversToHaikuImage disk usb : usb_disk ;
AddDriversToHaikuImage disk usb : usb_floppy ;
AddDriversToHaikuImage printer usb : usb_printer ;
@ -393,7 +375,7 @@ AddSymlinkToHaikuImage home Desktop
# Add the files to be used by installoptionalpackage.
AddDirectoryToHaikuImage common data optional-packages ;
local optional-pkg-files = OptionalBuildFeatures OptionalPackageDependencies
local optional-pkg-files = BuildFeatures OptionalPackageDependencies
OptionalPackages OptionalLibPackages ;
for name in $(optional-pkg-files) {
local file = [ FDirName $(HAIKU_TOP) build jam $(name) ] ;
@ -622,12 +604,12 @@ AddFilesToHaikuImage system : haiku_loader ;
# boot module links
AddBootModuleSymlinksToHaikuImage
$(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
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
$(X86_ONLY)ide_isa
ide_isa@x86
<usb>uhci <usb>ohci <usb>ehci
scsi_cd scsi_disk usb_disk
efi_gpt

View File

@ -1,43 +1,28 @@
# This file defines what ends up in the network boot archive and it executes the
# rules building the archive.
local X86_ONLY = ;
local PPC_ONLY = ;
if $(TARGET_ARCH) = x86 {
X86_ONLY = "" ;
} else if $(TARGET_ARCH) = ppc {
X86_ONLY = ;
}
local GPL_ONLY = ;
if $(HAIKU_INCLUDE_GPL_ADDONS) = 1 {
GPL_ONLY = "" ;
}
#HACK: remove when old ide code is removed!
local ATA_ONLY = ;
local IDE_ONLY = ;
if $(HAIKU_ATA_STACK) = 1 {
ATA_ONLY = "" ;
} else {
IDE_ONLY = "" ;
}
SYSTEM_NETWORK_DEVICES = ethernet loopback ;
SYSTEM_NETWORK_DATALINK_PROTOCOLS = ethernet_frame <module>arp loopback_frame ;
SYSTEM_NETWORK_PROTOCOLS = ipv4 tcp udp icmp unix ;
SYSTEM_ADD_ONS_DRIVERS_NET = $(X86_ONLY)3com $(X86_ONLY)atheros813x
$(X86_ONLY)broadcom440x $(X86_ONLY)broadcom570x etherpci $(X86_ONLY)ipro1000
pegasus $(X86_ONLY)rtl8139 rtl8169 $(X86_ONLY)rtl81xx sis900
$(X86_ONLY)via_rhine wb840 $(X86_ONLY)ipro100 $(X86_ONLY)nforce
SYSTEM_ADD_ONS_DRIVERS_NET = [ FFilterByBuildFeatures
x86 @{
3com atheros813x
broadcom440x broadcom570x ipro1000
rtl8139 rtl81xx
via_rhine ipro100 nforce
marvell_yukon syskonnect
attansic_l2 ar81xx
}@ # x86
etherpci pegasus rtl8169 sis900 usb_ecm wb840
#vlance
$(X86_ONLY)marvell_yukon $(X86_ONLY)syskonnect
$(X86_ONLY)attansic_l2 $(X86_ONLY)ar81xx usb_ecm
;
SYSTEM_ADD_ONS_BUS_MANAGERS = pci $(X86_ONLY)isa $(IDE_ONLY)ide $(ATA_ONLY)ata
] ;
SYSTEM_ADD_ONS_BUS_MANAGERS = [ FFilterByBuildFeatures
pci isa@x86 ide@ide ata@ata
scsi config_manager agp_gart
;
] ;
SYSTEM_ADD_ONS_FILE_SYSTEMS = bfs fat iso9660 ;
@ -45,20 +30,20 @@ SYSTEM_ADD_ONS_FILE_SYSTEMS = bfs fat iso9660 ;
AddFilesToNetBootArchive system add-ons kernel bus_managers
: $(SYSTEM_ADD_ONS_BUS_MANAGERS) ;
AddFilesToNetBootArchive system add-ons kernel busses agp_gart
: $(X86_ONLY)<agp_gart>intel ;
: <agp_gart>intel@x86 ;
AddFilesToNetBootArchive system add-ons kernel busses ide
: generic_ide_pci $(X86_ONLY)ide_isa silicon_image_3112 ;
: generic_ide_pci ide_isa@x86 silicon_image_3112 ;
AddFilesToNetBootArchive system add-ons kernel busses scsi
: ahci ;
AddFilesToNetBootArchive system add-ons kernel console : vga_text ;
AddFilesToNetBootArchive system add-ons kernel file_systems
: $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ;
AddFilesToNetBootArchive system add-ons kernel generic
: $(IDE_ONLY)ide_adapter $(ATA_ONLY)ata_adapter locked_pool scsi_periph ;
: ide_adapter@ide ata_adapter@ata locked_pool scsi_periph ;
AddFilesToNetBootArchive system add-ons kernel partitioning_systems
: intel session ;
AddFilesToNetBootArchive system add-ons kernel interrupt_controllers
: $(PPC_ONLY)openpic ;
: openpic@ppc ;
if $(TARGET_ARCH) = x86 {
AddFilesToNetBootArchive system add-ons kernel cpu : generic_x86 ;
@ -96,12 +81,12 @@ AddFilesToNetBootArchive system add-ons kernel network protocols
# boot module links
AddBootModuleSymlinksToNetBootArchive
$(SYSTEM_ADD_ONS_BUS_MANAGERS)
ahci generic_ide_pci $(X86_ONLY)ide_isa silicon_image_3112
ahci generic_ide_pci ide_isa@x86 silicon_image_3112
$(SYSTEM_ADD_ONS_FILE_SYSTEMS)
$(IDE_ONLY)ide_adapter $(ATA_ONLY)ata_adapter locked_pool scsi_periph
ide_adapter@ide ata_adapter@ata locked_pool scsi_periph
intel session
$(PPC_ONLY)openpic
$(X86_ONLY)generic_x86
openpic@ppc
generic_x86@x86
# nbd
remote_disk
$(SYSTEM_ADD_ONS_DRIVERS_NET)

View File

@ -31,7 +31,7 @@ local sources =
AddResources IMAP : IMAP.rdef ;
if $(HAIKU_OPENSSL_ENABLED) {
if $(HAIKU_BUILD_FEATURE_OPENSSL_ENABLED) {
SubDirC++Flags -DUSE_SSL ;
SetupFeatureObjectsDir ssl ;
} else {

View File

@ -17,7 +17,7 @@ local sources =
;
# use OpenSSL, if enabled
if $(HAIKU_OPENSSL_ENABLED) {
if $(HAIKU_BUILD_FEATURE_OPENSSL_ENABLED) {
SubDirC++Flags -DUSE_SSL ;
SubDirSysHdrs $(HAIKU_OPENSSL_HEADERS) ;
Includes [ FGristFiles $(sources) ] : $(HAIKU_OPENSSL_HEADERS_DEPENDENCY) ;

View File

@ -13,7 +13,7 @@ local sources =
;
# use OpenSSL, if enabled
if $(HAIKU_OPENSSL_ENABLED) {
if $(HAIKU_BUILD_FEATURE_OPENSSL_ENABLED) {
SubDirC++Flags -DUSE_SSL ;
SubDirSysHdrs $(HAIKU_OPENSSL_HEADERS) ;
Includes [ FGristFiles $(sources) ] : $(HAIKU_OPENSSL_HEADERS_DEPENDENCY) ;

View File

@ -12,7 +12,7 @@ SubDirSysHdrs [ FDirName $(SUBDIR) md5 ] ;
# use OpenSSL, if enabled
local sslSources ;
if $(HAIKU_OPENSSL_ENABLED) {
if $(HAIKU_BUILD_FEATURE_OPENSSL_ENABLED) {
SubDirCcFlags -DHAVE_LIBSSL ;
SubDirSysHdrs $(HAIKU_OPENSSL_HEADERS) ;
sslSources = openssl.c ;

View File

@ -36,7 +36,7 @@ local sources =
# use OpenSSL, if enabled
if $(HAIKU_OPENSSL_ENABLED) {
if $(HAIKU_BUILD_FEATURE_OPENSSL_ENABLED) {
SubDirC++Flags -DUSE_SSL ;
SubDirSysHdrs $(HAIKU_OPENSSL_HEADERS) ;
Includes [ FGristFiles $(sources) ] : $(HAIKU_OPENSSL_HEADERS_DEPENDENCY) ;

View File

@ -7,7 +7,7 @@ UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ]
UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_wlan ] : true ;
local sslSources ;
if $(HAIKU_OPENSSL_ENABLED) {
if $(HAIKU_BUILD_FEATURE_OPENSSL_ENABLED) {
SubDirC++Flags -DOPENSSL_ENABLED ;
SubDirSysHdrs $(HAIKU_OPENSSL_HEADERS) ;
sslSources = SSL.cpp ;