de49044796
OptionalPackages. This makes the content definition part in AlternativeGCCArchive superfluous. * Moved the cc and c++ wrapper scripts from src/bin to data/bin. * Added build variable HAIKU_ADD_OPTIONAL_PACKAGES to add optional packages -- the list can be separated by slashes to allow easier passing through the shell. * When invoking the sub-jam that builds the alternative GCC archive, we force it to ignore the UserBuildConfigs and we enable the optional packages enabled in the main jam. * Reorganized /boot/develop: - There's now an "abi" subdirectory containing a <arch>/<gcc>/ subdirectory for each installed ABI-incompatible gcc version and a "current" symlink pointed to the currently selected one. - All ABI-dependent directories under /boot/develop/ (lib/x86, headers/cpp, tools/gnupro) symlink into /boot/develop/abi/current. - Changed BELIBRARIES to contain /boot/develop/abi/current/library-paths/common instead of /boot/common/lib. The former is a symlink to either /boot/common/lib or /boot/common/lib/<gccVersion>. There's also a respective "home" symlink. - Repackaged the optional binutils+gcc 2/4 packages accordingly. Also fixed the obsolete /boot/beos/system/lib/libstdc++.so symlink in the gcc 4 package. - The new structure allows to switch between compilers by changing the /boot/develop/abi/current symlink. Added script setgcc to do that. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30875 a95241bf-73f2-0310-859d-f6bbb57e9c96
208 lines
3.9 KiB
Plaintext
208 lines
3.9 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
|
|
;
|
|
|
|
# Pseudo-target to build the locale kit only
|
|
NotFile LocaleKit ;
|
|
Depends LocaleKit :
|
|
liblocale.so
|
|
Locale
|
|
|
|
# binaries for building localized software on haiku
|
|
collectcatkeys
|
|
dumpcatalog
|
|
linkcatkeys
|
|
|
|
# addons
|
|
LocaleKitCollatorAddons
|
|
LocaleKitCatalogAddons
|
|
|
|
# tests
|
|
LocaleKitTests
|
|
;
|
|
|
|
# Add optional packages given via HAIKU_ADD_OPTIONAL_PACKAGES.
|
|
if $(HAIKU_ADD_OPTIONAL_PACKAGES) {
|
|
AddOptionalHaikuImagePackages
|
|
[ FSplitString $(HAIKU_ADD_OPTIONAL_PACKAGES) : / ] ;
|
|
}
|
|
|
|
# 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 ;
|
|
}
|