ff81d306d4
build/jam/OptionalPackageDependencies and include it earlier (before the Jamfiles). * Introduced build/jam/OptionalBuildFeatures which is supposed to do the setup for optional build features that need it. * Renamed USE_SSL to HAIKU_BUILD_FEATURE_SSL and made it more intelligent. The OpenSSL optional package is downloaded and unzipped automatically when enabled. Switching between enabled/disabled HAIKU_BUILD_FEATURE_SSL is handled gracefully -- the concerned components are built in separate subdirectories. Adding the OpenSSL optional package to the image also enables HAIKU_BUILD_FEATURE_SSL. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30021 a95241bf-73f2-0310-859d-f6bbb57e9c96
183 lines
3.5 KiB
Plaintext
183 lines
3.5 KiB
Plaintext
SubDir HAIKU_TOP ;
|
|
|
|
NotFile alltests ;
|
|
Depends alltests : r5tests obostests ;
|
|
|
|
NotFile doc_files ;
|
|
Depends files : doc_files ;
|
|
|
|
# Pseudo-target to build the mail kit only
|
|
NotFile MailKit ;
|
|
Depends MailKit :
|
|
libmail.so
|
|
mail_daemon
|
|
E-mail
|
|
BeMail
|
|
|
|
# mail_daemon addons
|
|
Inbox
|
|
Outbox
|
|
Message\ Parser
|
|
New\ Mail\ Notification
|
|
Match\ Header
|
|
R5\ Daemon\ Filter
|
|
IMAP
|
|
POP3
|
|
SMTP
|
|
Fortune
|
|
Spam\ Filter
|
|
spamdbm
|
|
;
|
|
|
|
# Pseudo-target to build the network kit only
|
|
NotFile NetworkingKit ;
|
|
Depends NetworkingKit :
|
|
net_stack_driver net_server_driver
|
|
core
|
|
ethernet loopback ppp
|
|
raw route ipv4 icmp udp tcp
|
|
libnet.so libnetapi.so libbind.so libsocket.so
|
|
ping ifconfig <bin>route traceroute arp pppconfig
|
|
|
|
# network drivers:
|
|
sis900 rtl8139 rtl8169 via-rhine ipro1000 wb840 bcm440x bcm570x
|
|
|
|
# PPP devices:
|
|
modem pppoe
|
|
# PPP protocols:
|
|
ipcp
|
|
# PPP authenticators:
|
|
pap
|
|
;
|
|
|
|
# Pseudo-target to build the media stuffs only
|
|
NotFile MediaKit ;
|
|
Depends MediaKit :
|
|
libmedia.so
|
|
libgame.so
|
|
|
|
# Servers
|
|
media_addon_server
|
|
media_server
|
|
|
|
# Preference
|
|
Sounds
|
|
Media
|
|
|
|
# Deskbar replicant
|
|
desklink
|
|
|
|
# add-ons
|
|
mixer.media_addon
|
|
tone_producer_demo.media_addon
|
|
video_producer_demo.media_addon
|
|
legacy.media_addon
|
|
multi_audio.media_addon
|
|
# reader.media_addon
|
|
# writer.media_addon
|
|
# demultiplexer.media_addon
|
|
|
|
# codecs
|
|
ac3_decoder
|
|
aiff_reader
|
|
au_reader
|
|
avcodec
|
|
avi_reader
|
|
matroska
|
|
mp3_decoder
|
|
mp3_reader
|
|
musepack
|
|
ogg
|
|
raw_decoder
|
|
speex
|
|
vorbis
|
|
wav_reader
|
|
mov_reader
|
|
;
|
|
|
|
# Pseudo-target to build the input kit only
|
|
NotFile InputKit ;
|
|
Depends InputKit :
|
|
# Servers
|
|
input_server
|
|
|
|
# Addons
|
|
<input>keyboard
|
|
<input>mouse
|
|
|
|
# Apps
|
|
keymap
|
|
|
|
# Preferences
|
|
Keymap
|
|
Keyboard
|
|
Mouse
|
|
;
|
|
|
|
# Pseudo-target to build the OpenGL kit only
|
|
NotFile OpenGLKit ;
|
|
Depends OpenGLKit :
|
|
libGL.so
|
|
GLTeapot
|
|
GLInfo
|
|
;
|
|
|
|
# Pseudo-target to build the screensaver kit only
|
|
NotFile ScreenSaverKit ;
|
|
Depends ScreenSaverKit :
|
|
libscreensaver.so
|
|
screen_saver
|
|
screen_blanker
|
|
ScreenSaver
|
|
Haiku
|
|
;
|
|
|
|
# Evaluate optional package dependencies and prepare the optional build
|
|
# features before parsing the Jamfile tree.
|
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalPackageDependencies ] ;
|
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalBuildFeatures ] ;
|
|
|
|
# Optionally we allow not to include the "src" subdirectory.
|
|
if $(HAIKU_DONT_INCLUDE_SRC) {
|
|
# Don't include "src", but at least include the stuff needed for the
|
|
# build.
|
|
SubInclude HAIKU_TOP src build ;
|
|
SubInclude HAIKU_TOP src tools ;
|
|
} else {
|
|
SubInclude HAIKU_TOP src ;
|
|
}
|
|
if $(HAIKU_INCLUDE_3RDPARTY) {
|
|
SubInclude HAIKU_TOP 3rdparty ;
|
|
}
|
|
|
|
# Perform deferred SubIncludes.
|
|
ExecuteDeferredSubIncludes ;
|
|
|
|
# reset subdir
|
|
SubDir HAIKU_TOP ;
|
|
|
|
# Execute post-build-target user config rules.
|
|
UserBuildConfigRulePostBuildTargets ;
|
|
|
|
# specify the Haiku image and network boot archive contents
|
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuImage ] ;
|
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) NetBootArchive ] ;
|
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) FloppyBootImage ] ;
|
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) CDBootImage ] ;
|
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) CDBootPPCImage ] ;
|
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuCD ] ;
|
|
|
|
# Check whether all requested optional packages do actually exist.
|
|
local package ;
|
|
local packageError ;
|
|
for package in $(HAIKU_ADDED_OPTIONAL_PACKAGES) {
|
|
if ! [ on $(package) return $(HAIKU_OPTIONAL_PACKAGE_EXISTS) ] {
|
|
Echo "ERROR: Requested optional package \"$(package)\" does not"
|
|
"exist." ;
|
|
packageError = 1 ;
|
|
}
|
|
}
|
|
if $(packageError) {
|
|
Exit ;
|
|
}
|