From 225b6382637a7346d5378ee45a6581b4e2616055 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Tue, 6 Aug 2013 00:41:36 +0200 Subject: [PATCH] Support building most system libraries for secondary arch Also adjust the HaikuImageGet[Private]SystemLibs rules to support to return the library targets matching the current architecture. --- build/jam/images/HaikuImage | 34 +++--- build/jam/images/HaikuImageBootstrap | 36 +++--- src/kits/device/Jamfile | 33 +++--- src/kits/game/Jamfile | 38 +++--- src/kits/mail/Jamfile | 54 +++++---- src/kits/media/Jamfile | 137 ++++++++++----------- src/kits/midi/Jamfile | 41 ++++--- src/kits/midi2/Jamfile | 28 +++-- src/kits/network/libnetapi/Jamfile | 144 +++++++++++----------- src/kits/screensaver/Jamfile | 21 ++-- src/kits/textencoding/Jamfile | 20 +++- src/kits/tracker/Jamfile | 171 ++++++++++++++------------- src/kits/translation/Jamfile | 28 +++-- src/libs/alm/Jamfile | 34 +++--- src/libs/fluidsynth/src/Jamfile | 61 +++++----- src/libs/gnu/Jamfile | 11 +- src/libs/iconv/Jamfile | 31 +++-- src/libs/linprog/Jamfile | 22 ++-- 18 files changed, 521 insertions(+), 423 deletions(-) diff --git a/build/jam/images/HaikuImage b/build/jam/images/HaikuImage index 5e021c3b77..024d57b24d 100644 --- a/build/jam/images/HaikuImage +++ b/build/jam/images/HaikuImage @@ -67,31 +67,35 @@ SYSTEM_DEMOS = [ FFilterByBuildFeatures rule HaikuImageGetSystemLibs { - return [ FFilterByBuildFeatures - libbe.so libbsd.so libbnetapi.so - libdebug.so libdevice.so - libgame.so libGL.so@x86 libglut.so@x86 - libgnu.so libmail.so libmedia.so libmidi.so libmidi2.so - libnetwork.so - libpackage.so - libroot.so - libscreensaver.so - libtextencoding.so libtiff.so libtracker.so libtranslation.so - $(HAIKU_SHARED_LIBSTDC++_$(HAIKU_PACKAGING_ARCH)) - $(HAIKU_SHARED_LIBSUPC++_$(HAIKU_PACKAGING_ARCH)) - ] ; + return + # libs with special grist + [ MultiArchDefaultGristFiles libroot.so : revisioned ] + $(HAIKU_SHARED_LIBSTDC++_$(TARGET_PACKAGING_ARCH)) + $(HAIKU_SHARED_LIBSUPC++_$(TARGET_PACKAGING_ARCH)) + # libs with standard grist + [ MultiArchDefaultGristFiles [ FFilterByBuildFeatures + libbe.so libbsd.so libbnetapi.so + libdebug.so libdevice.so + libgame.so libGL.so@x86 libglut.so@x86 + libgnu.so libmail.so libmedia.so libmidi.so libmidi2.so + libnetwork.so + libpackage.so + libscreensaver.so + libtextencoding.so libtiff.so libtracker.so libtranslation.so + ] ] + ; } rule HaikuImageGetPrivateSystemLibs { - return [ FFilterByBuildFeatures + return [ MultiArchDefaultGristFiles [ FFilterByBuildFeatures libalm.so libfluidsynth.so libilmimf.so libpackage-add-on-libsolv.so libroot-addon-icu.so - ] ; + ] ] ; } diff --git a/build/jam/images/HaikuImageBootstrap b/build/jam/images/HaikuImageBootstrap index 2cbe790d8b..df92b8d0f2 100644 --- a/build/jam/images/HaikuImageBootstrap +++ b/build/jam/images/HaikuImageBootstrap @@ -63,31 +63,35 @@ SYSTEM_DEMOS = ; rule HaikuImageGetSystemLibs { - return [ FFilterByBuildFeatures - libbe.so libbsd.so libbnetapi.so - libdebug.so libdevice.so - libgame.so - libgnu.so libmail.so libmedia.so libmidi.so libmidi2.so - libnetwork.so - libpackage.so - libroot.so - libscreensaver.so - libtextencoding.so libtracker.so libtranslation.so - $(HAIKU_SHARED_LIBSTDC++_$(HAIKU_PACKAGING_ARCH)) - $(HAIKU_SHARED_LIBSUPC++_$(HAIKU_PACKAGING_ARCH)) - ] ; + return + # libs with special grist + [ MultiArchDefaultGristFiles libroot.so : revisioned ] + $(HAIKU_SHARED_LIBSTDC++_$(TARGET_PACKAGING_ARCH)) + $(HAIKU_SHARED_LIBSUPC++_$(TARGET_PACKAGING_ARCH)) + # libs with standard grist + [ MultiArchDefaultGristFiles [ FFilterByBuildFeatures + libbe.so libbsd.so libbnetapi.so + libdebug.so libdevice.so + libgame.so + libgnu.so libmail.so libmedia.so libmidi.so libmidi2.so + libnetwork.so + libpackage.so + libscreensaver.so + libtextencoding.so libtracker.so libtranslation.so + ] ] + ; } rule HaikuImageGetPrivateSystemLibs { - return [ FFilterByBuildFeatures + return [ MultiArchDefaultGristFiles [ FFilterByBuildFeatures libalm.so -# libfluidsynth.so + libfluidsynth.so # libilmimf.so libpackage-add-on-libsolv.so libroot-addon-icu.so - ] ; + ] ] ; } diff --git a/src/kits/device/Jamfile b/src/kits/device/Jamfile index 3ecf274e57..e247eaa575 100644 --- a/src/kits/device/Jamfile +++ b/src/kits/device/Jamfile @@ -7,17 +7,22 @@ UsePrivateHeaders device ; # for usb_raw.h that defines the ioctl protocol used by the USB classes UseHeaders [ FDirName $(HAIKU_TOP) src add-ons kernel drivers bus usb ] : true ; -SharedLibrary libdevice.so : - A2D.cpp - D2A.cpp - DigitalPort.cpp - Joystick.cpp - JoystickTweaker.cpp - SerialPort.cpp - USBConfiguration.cpp - USBDevice.cpp - USBEndpoint.cpp - USBInterface.cpp - USBRoster.cpp - : be $(TARGET_LIBSUPC++) -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + SharedLibrary [ MultiArchDefaultGristFiles libdevice.so ] : + A2D.cpp + D2A.cpp + DigitalPort.cpp + Joystick.cpp + JoystickTweaker.cpp + SerialPort.cpp + USBConfiguration.cpp + USBDevice.cpp + USBEndpoint.cpp + USBInterface.cpp + USBRoster.cpp + : be $(TARGET_LIBSUPC++) + ; + } +} diff --git a/src/kits/game/Jamfile b/src/kits/game/Jamfile index 0d53d20f80..7cac4199ae 100644 --- a/src/kits/game/Jamfile +++ b/src/kits/game/Jamfile @@ -12,24 +12,28 @@ SubDirSysHdrs $(SUBDIR) ; if $(TARGET_PLATFORM) = haiku { + local architectureObject ; + for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + SharedLibrary [ MultiArchDefaultGristFiles libgame.so ] : + # Public Game Kit + DirectWindow.cpp + WindowScreen.cpp + GameSound.cpp + SimpleGameSound.cpp + FileGameSound.cpp + PushGameSound.cpp + StreamingGameSound.cpp - SharedLibrary libgame.so : - # Public Game Kit - DirectWindow.cpp - WindowScreen.cpp - GameSound.cpp - SimpleGameSound.cpp - FileGameSound.cpp - PushGameSound.cpp - StreamingGameSound.cpp - - # Internal Functionality - GameProducer.cpp - GameSoundBuffer.cpp - GameSoundDevice.cpp - GSUtility.cpp - : be media $(TARGET_LIBSUPC++) - ; + # Internal Functionality + GameProducer.cpp + GameSoundBuffer.cpp + GameSoundDevice.cpp + GSUtility.cpp + : be media $(TARGET_LIBSUPC++) + ; + } + } } else if $(TARGET_PLATFORM) = libbe_test { SharedLibrary libgame.so : diff --git a/src/kits/mail/Jamfile b/src/kits/mail/Jamfile index 4b066b0cb6..bf29978d27 100644 --- a/src/kits/mail/Jamfile +++ b/src/kits/mail/Jamfile @@ -35,32 +35,38 @@ local sources = ; -# use OpenSSL, if enabled -if [ FIsBuildFeatureEnabled openssl ] { - SubDirC++Flags -DUSE_SSL ; - UseBuildFeatureHeaders openssl ; - Includes [ FGristFiles $(sources) ] - : [ BuildFeatureAttribute openssl : headers ] ; - # Dependency needed to trigger downloading/unzipping the package before - # compiling the files. - SetupFeatureObjectsDir ssl ; -} else { - SetupFeatureObjectsDir no-ssl ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + # use OpenSSL, if enabled + if [ FIsBuildFeatureEnabled openssl ] { + SubDirC++Flags -DUSE_SSL ; + UseBuildFeatureHeaders openssl ; + Includes [ FGristFiles $(sources) ] + : [ BuildFeatureAttribute openssl : headers ] ; + # Dependency needed to trigger downloading/unzipping the package before + # compiling the files. + SetupFeatureObjectsDir ssl ; + } else { + SetupFeatureObjectsDir no-ssl ; + } + + local libmail = [ MultiArchDefaultGristFiles libmail.so ] ; + AddResources $(libmail) : libmail.rdef ; + + SharedLibrary $(libmail) : + $(sources) + : + be bnetapi textencoding tracker + $(TARGET_LIBSTDC++) + $(TARGET_NETWORK_LIBS) + $(TARGET_SELECT_UNAME_ETC_LIB) + [ BuildFeatureAttribute openssl : libraries ] + localestub + ; + } } -AddResources libmail.so : libmail.rdef ; - -SharedLibrary libmail.so : - $(sources) - : - be libbnetapi.so libtextencoding.so tracker - $(TARGET_LIBSTDC++) - $(TARGET_NETWORK_LIBS) - $(TARGET_SELECT_UNAME_ETC_LIB) - [ BuildFeatureAttribute openssl : libraries ] - localestub -; - DoCatalogs libmail.so : x-vnd.Haiku-libmail diff --git a/src/kits/media/Jamfile b/src/kits/media/Jamfile index 610e3f1064..96dd80098b 100644 --- a/src/kits/media/Jamfile +++ b/src/kits/media/Jamfile @@ -13,73 +13,78 @@ if $(CHECK_MALLOC) { SubDirC++Flags -D_NO_INLINE_ASM -fcheck-memory-usage ; } -SharedLibrary libmedia.so : - # Private Media Kit - !missing_symbols.cpp - SoundConsumer.cpp +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + SharedLibrary [ MultiArchDefaultGristFiles libmedia.so ] : + # Private Media Kit + !missing_symbols.cpp + SoundConsumer.cpp - # Public Media Kit - Buffer.cpp - BufferConsumer.cpp - BufferGroup.cpp - BufferProducer.cpp - Controllable.cpp - FileInterface.cpp - MediaAddOn.cpp - MediaDecoder.cpp - MediaDefs.cpp - MediaEncoder.cpp - MediaEventLooper.cpp - MediaFile.cpp - MediaFiles.cpp - MediaFormats.cpp - MediaNode.cpp - MediaRoster.cpp - MediaTheme.cpp - MediaTrack.cpp - ParameterWeb.cpp - PlaySound.cpp - RealtimeAlloc.cpp - Sound.cpp - SoundFile.cpp - SoundPlayer.cpp - TimeCode.cpp - TimedEventQueue.cpp - TimeSource.cpp + # Public Media Kit + Buffer.cpp + BufferConsumer.cpp + BufferGroup.cpp + BufferProducer.cpp + Controllable.cpp + FileInterface.cpp + MediaAddOn.cpp + MediaDecoder.cpp + MediaDefs.cpp + MediaEncoder.cpp + MediaEventLooper.cpp + MediaFile.cpp + MediaFiles.cpp + MediaFormats.cpp + MediaNode.cpp + MediaRoster.cpp + MediaTheme.cpp + MediaTrack.cpp + ParameterWeb.cpp + PlaySound.cpp + RealtimeAlloc.cpp + Sound.cpp + SoundFile.cpp + SoundPlayer.cpp + TimeCode.cpp + TimedEventQueue.cpp + TimeSource.cpp - # Internal Functionality - BufferCache.cpp - DataExchange.cpp - DefaultMediaTheme.cpp - DormantNodeManager.cpp - Notifications.cpp - request_data.cpp - SharedBufferList.cpp - TrackReader.cpp - TimedEventQueuePrivate.cpp - TimeSourceObject.cpp - TimeSourceObjectManager.cpp - SoundPlayNode.cpp - SoundUtils.cpp + # Internal Functionality + BufferCache.cpp + DataExchange.cpp + DefaultMediaTheme.cpp + DormantNodeManager.cpp + Notifications.cpp + request_data.cpp + SharedBufferList.cpp + TrackReader.cpp + TimedEventQueuePrivate.cpp + TimeSourceObject.cpp + TimeSourceObjectManager.cpp + SoundPlayNode.cpp + SoundUtils.cpp - # Old (R3) Media Kit (built only for GCC2) - OldAudioModule.cpp - OldAudioStream.cpp - OldBufferStream.cpp - OldBufferStreamManager.cpp - OldMediaModule.cpp - OldSubscriber.cpp + # Old (R3) Media Kit (built only for GCC2) + OldAudioModule.cpp + OldAudioStream.cpp + OldBufferStream.cpp + OldBufferStreamManager.cpp + OldMediaModule.cpp + OldSubscriber.cpp - # Codec Plugin API - ChunkCache.cpp - DecoderPlugin.cpp - EncoderPlugin.cpp - MediaExtractor.cpp - MediaPlugin.cpp - MediaWriter.cpp - PluginManager.cpp - ReaderPlugin.cpp - WriterPlugin.cpp - : - be $(TARGET_LIBSUPC++) $(TARGET_LIBSTDC++) -; + # Codec Plugin API + ChunkCache.cpp + DecoderPlugin.cpp + EncoderPlugin.cpp + MediaExtractor.cpp + MediaPlugin.cpp + MediaWriter.cpp + PluginManager.cpp + ReaderPlugin.cpp + WriterPlugin.cpp + : + be $(TARGET_LIBSUPC++) $(TARGET_LIBSTDC++) + ; + } +} diff --git a/src/kits/midi/Jamfile b/src/kits/midi/Jamfile index 997fb77749..decec19133 100644 --- a/src/kits/midi/Jamfile +++ b/src/kits/midi/Jamfile @@ -11,21 +11,26 @@ if $(TARGET_PLATFORM) != haiku { UsePrivateHeaders midi ; UseLibraryHeaders fluidsynth ; -SharedLibrary libmidi.so : - Midi.cpp - MidiGlue.cpp - MidiPort.cpp - MidiStore.cpp - MidiSynth.cpp - MidiSynthFile.cpp - MidiText.cpp - Samples.cpp - SoftSynth.cpp - Synth.cpp - : - be - libmidi2.so - media - libfluidsynth.so - $(TARGET_LIBSUPC++) -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + SharedLibrary [ MultiArchDefaultGristFiles libmidi.so ] : + Midi.cpp + MidiGlue.cpp + MidiPort.cpp + MidiStore.cpp + MidiSynth.cpp + MidiSynthFile.cpp + MidiText.cpp + Samples.cpp + SoftSynth.cpp + Synth.cpp + : + be + midi2 + media + [ MultiArchDefaultGristFiles libfluidsynth.so ] + $(TARGET_LIBSUPC++) + ; + } +} diff --git a/src/kits/midi2/Jamfile b/src/kits/midi2/Jamfile index 93270a86cd..1660f8e027 100644 --- a/src/kits/midi2/Jamfile +++ b/src/kits/midi2/Jamfile @@ -9,15 +9,19 @@ if $(TARGET_PLATFORM) != haiku { UsePrivateHeaders midi ; -SharedLibrary libmidi2.so : - MidiConsumer.cpp - MidiEndpoint.cpp - MidiLocalConsumer.cpp - MidiLocalProducer.cpp - MidiProducer.cpp - MidiRoster.cpp - MidiRosterLooper.cpp - : - be $(TARGET_LIBSUPC++) -; - +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + SharedLibrary [ MultiArchDefaultGristFiles libmidi2.so ] : + MidiConsumer.cpp + MidiEndpoint.cpp + MidiLocalConsumer.cpp + MidiLocalProducer.cpp + MidiProducer.cpp + MidiRoster.cpp + MidiRosterLooper.cpp + : + be $(TARGET_LIBSUPC++) + ; + } +} diff --git a/src/kits/network/libnetapi/Jamfile b/src/kits/network/libnetapi/Jamfile index e2d7252bd9..bcc0a79243 100644 --- a/src/kits/network/libnetapi/Jamfile +++ b/src/kits/network/libnetapi/Jamfile @@ -6,73 +6,79 @@ UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ] : true ; UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_wlan ] : true ; -local sslSources ; -local md5Sources ; -if [ FIsBuildFeatureEnabled openssl ] { - SubDirC++Flags -DOPENSSL_ENABLED ; - UseBuildFeatureHeaders openssl ; - sslSources = SSL.cpp ; - md5Sources = ; - Includes [ FGristFiles $(sslSources) SecureSocket.cpp - HttpAuthentication.cpp ] - : [ BuildFeatureAttribute openssl : headers ] ; - # Dependency needed to trigger downloading/unzipping the package before - # compiling the files. - SetupFeatureObjectsDir ssl ; -} else { - # As we don't have md5 from ssl, use our own - md5Sources = md5.c ; - SetupFeatureObjectsDir no-ssl ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local sslSources ; + local md5Sources ; + if [ FIsBuildFeatureEnabled openssl ] { + SubDirC++Flags -DOPENSSL_ENABLED ; + UseBuildFeatureHeaders openssl ; + sslSources = SSL.cpp ; + md5Sources = ; + Includes [ FGristFiles $(sslSources) SecureSocket.cpp + HttpAuthentication.cpp ] + : [ BuildFeatureAttribute openssl : headers ] ; + # Dependency needed to trigger downloading/unzipping the package before + # compiling the files. + SetupFeatureObjectsDir ssl ; + } else { + # As we don't have md5 from ssl, use our own + md5Sources = md5.c ; + SetupFeatureObjectsDir no-ssl ; + } + + SharedLibrary [ MultiArchDefaultGristFiles libbnetapi.so ] : + init.cpp + DynamicBuffer.cpp + NetEndpoint.cpp + NetAddress.cpp + NetBuffer.cpp + NetDebug.cpp + + $(sslSources) + + NetworkAddress.cpp + NetworkAddressResolver.cpp + NetworkCookie.cpp + NetworkCookieJar.cpp + NetworkDevice.cpp + NetworkInterface.cpp + NetworkRoster.cpp + + AbstractSocket.cpp + DatagramSocket.cpp + Socket.cpp + SecureSocket.cpp + + # TODO: The HTTP stuff should all go into an add-on. It needs + # linking against libcrypto.so and only the add-on should link + # against it. + # Building of the commented out files has not been completely tested + # after integrating the code from the GSoC 2010 "Services Kit" + # project and doing some renaming of types, constants and methods. + HttpAuthentication.cpp + HttpHeaders.cpp + HttpForm.cpp + HttpTime.cpp + + $(md5Sources) + + Url.cpp + UrlContext.cpp + UrlProtocol.cpp + UrlProtocolAsynchronousListener.cpp + UrlProtocolDispatchingListener.cpp + UrlProtocolHttp.cpp # TODO: -> add-on, See above. + UrlProtocolListener.cpp + UrlRequest.cpp + UrlResult.cpp + UrlSynchronousRequest.cpp + + : + be $(TARGET_NETWORK_LIBS) $(TARGET_LIBSTDC++) $(TARGET_LIBSUPC++) + [ BuildFeatureAttribute openssl : libraries ] + [ MultiArchDefaultGristFiles libshared.a ] + ; + } } - -SharedLibrary libbnetapi.so : - init.cpp - DynamicBuffer.cpp - NetEndpoint.cpp - NetAddress.cpp - NetBuffer.cpp - NetDebug.cpp - - $(sslSources) - - NetworkAddress.cpp - NetworkAddressResolver.cpp - NetworkCookie.cpp - NetworkCookieJar.cpp - NetworkDevice.cpp - NetworkInterface.cpp - NetworkRoster.cpp - - AbstractSocket.cpp - DatagramSocket.cpp - Socket.cpp - SecureSocket.cpp - - # TODO: The HTTP stuff should all go into an add-on. It needs linking - # against libcrypto.so and only the add-on should link against it. - # Building of the commented out files has not been completely tested after - # integrating the code from the GSoC 2010 "Services Kit" project and doing - # some renaming of types, constants and methods. - HttpAuthentication.cpp - HttpHeaders.cpp - HttpForm.cpp - HttpTime.cpp - - $(md5Sources) - - Url.cpp - UrlContext.cpp - UrlProtocol.cpp - UrlProtocolAsynchronousListener.cpp - UrlProtocolDispatchingListener.cpp - UrlProtocolHttp.cpp # TODO: -> add-on, See above. - UrlProtocolListener.cpp - UrlRequest.cpp - UrlResult.cpp - UrlSynchronousRequest.cpp - - : - be $(TARGET_NETWORK_LIBS) $(TARGET_LIBSTDC++) $(TARGET_LIBSUPC++) - [ BuildFeatureAttribute openssl : libraries ] - libshared.a -; diff --git a/src/kits/screensaver/Jamfile b/src/kits/screensaver/Jamfile index 7234e05789..c9f508b930 100644 --- a/src/kits/screensaver/Jamfile +++ b/src/kits/screensaver/Jamfile @@ -7,11 +7,16 @@ UseHeaders [ FDirName $(HAIKU_TOP) headers os add-ons screen_saver ] ; UsePrivateHeaders screen_saver ; -SharedLibrary libscreensaver.so : - BuildScreenSaverDefaultSettingsView.cpp - ScreenSaver.cpp - ScreenSaverSettings.cpp - ScreenSaverRunner.cpp - : - be game $(TARGET_LIBSUPC++) -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + SharedLibrary [ MultiArchDefaultGristFiles libscreensaver.so ] : + BuildScreenSaverDefaultSettingsView.cpp + ScreenSaver.cpp + ScreenSaverSettings.cpp + ScreenSaverRunner.cpp + : + be game $(TARGET_LIBSUPC++) + ; + } +} diff --git a/src/kits/textencoding/Jamfile b/src/kits/textencoding/Jamfile index a91a26e230..be4b656cd1 100644 --- a/src/kits/textencoding/Jamfile +++ b/src/kits/textencoding/Jamfile @@ -8,12 +8,20 @@ AddResources libtextencoding.so : libtextencoding.rdef ; UsePrivateHeaders textencoding ; UseLibraryHeaders iconv ; -SharedLibrary libtextencoding.so : - CharacterSet.cpp - CharacterSetRoster.cpp - character_sets.cpp - utf8_conversions.cpp - : be libiconv.a $(TARGET_LIBSUPC++) localestub ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + SharedLibrary [ MultiArchDefaultGristFiles libtextencoding.so ] : + CharacterSet.cpp + CharacterSetRoster.cpp + character_sets.cpp + utf8_conversions.cpp + : + be + [ MultiArchDefaultGristFiles libiconv.a ] + $(TARGET_LIBSUPC++) localestub ; + } +} DoCatalogs libtextencoding.so : x-vnd.Haiku-libtextencoding diff --git a/src/kits/tracker/Jamfile b/src/kits/tracker/Jamfile index a9cdde5293..9b5c318672 100644 --- a/src/kits/tracker/Jamfile +++ b/src/kits/tracker/Jamfile @@ -5,8 +5,6 @@ AddSubDirSupportedPlatforms libbe_test ; UsePrivateHeaders interface mount shared storage support system tracker ; -AddResources libtracker.so : TrackerIcons.rdef libtracker.rdef ; - SubDirC++Flags -D_BUILDING_tracker=1 # -D_INCLUDES_CLASS_DEVICE_MAP=1 @@ -15,87 +13,98 @@ SubDirC++Flags # -D_SILENTLY_CORRECT_FILE_NAMES=1 ; -local vector_icon_libs ; -if ! $(TARGET_PLATFORM_HAIKU_COMPATIBLE) && $(TARGET_PLATFORM) != libbe_test { - vector_icon_libs = libicon.a libagg.a ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local vectorIconLibs ; + if ! $(TARGET_PLATFORM_HAIKU_COMPATIBLE) && $(TARGET_PLATFORM) + != libbe_test { + vectorIconLibs = [ MultiArchDefaultGristFiles libicon.a libagg.a ] ; + } + + local libtracker = [ MultiArchDefaultGristFiles libtracker.so ] ; + AddResources $(libtracker) : TrackerIcons.rdef libtracker.rdef ; + + SharedLibrary $(libtracker) : + AttributeStream.cpp + AutoMounterSettings.cpp + BackgroundImage.cpp + Bitmaps.cpp + ContainerWindow.cpp + CountView.cpp + DeskWindow.cpp + DesktopPoseView.cpp + DialogPane.cpp + DirMenu.cpp + EntryIterator.cpp + FBCPadding.cpp + FSClipboard.cpp + FSUndoRedo.cpp + FSUtils.cpp + FavoritesMenu.cpp + FilePanel.cpp + FilePanelPriv.cpp + FilePermissionsView.cpp + FindPanel.cpp + GroupedMenu.cpp + IconCache.cpp + IconMenuItem.cpp + InfoWindow.cpp + MimeTypeList.cpp + MiniMenuField.cpp + Model.cpp + MountMenu.cpp + Navigator.cpp + NavMenu.cpp + NodePreloader.cpp + NodeWalker.cpp + OpenWithWindow.cpp + OverrideAlert.cpp + PendingNodeMonitorCache.cpp + Pose.cpp + PoseList.cpp + PoseView.cpp + PoseViewScripting.cpp + QueryContainerWindow.cpp + QueryPoseView.cpp + RecentItems.cpp + RegExp.cpp + SelectionWindow.cpp + Settings.cpp + SettingsHandler.cpp + SettingsViews.cpp + SlowContextPopup.cpp + SlowMenu.cpp + StatusWindow.cpp + TaskLoop.cpp + TemplatesMenu.cpp + Tests.cpp + TextWidget.cpp + Thread.cpp + TitleView.cpp + Tracker.cpp + TrackerInitialState.cpp + TrackerScripting.cpp + TrackerSettings.cpp + TrackerSettingsWindow.cpp + TrackerString.cpp + TrashWatcher.cpp + Utilities.cpp + ViewState.cpp + VirtualDirectoryEntryList.cpp + VirtualDirectoryManager.cpp + VirtualDirectoryPoseView.cpp + VirtualDirectoryWindow.cpp + VolumeWindow.cpp + WidgetAttributeText.cpp + + : + be translation $(vectorIconLibs) $(TARGET_LIBSTDC++) localestub + [ MultiArchDefaultGristFiles libshared.a ] + ; + } } -SharedLibrary libtracker.so : - AttributeStream.cpp - AutoMounterSettings.cpp - BackgroundImage.cpp - Bitmaps.cpp - ContainerWindow.cpp - CountView.cpp - DeskWindow.cpp - DesktopPoseView.cpp - DialogPane.cpp - DirMenu.cpp - EntryIterator.cpp - FBCPadding.cpp - FSClipboard.cpp - FSUndoRedo.cpp - FSUtils.cpp - FavoritesMenu.cpp - FilePanel.cpp - FilePanelPriv.cpp - FilePermissionsView.cpp - FindPanel.cpp - GroupedMenu.cpp - IconCache.cpp - IconMenuItem.cpp - InfoWindow.cpp - MimeTypeList.cpp - MiniMenuField.cpp - Model.cpp - MountMenu.cpp - Navigator.cpp - NavMenu.cpp - NodePreloader.cpp - NodeWalker.cpp - OpenWithWindow.cpp - OverrideAlert.cpp - PendingNodeMonitorCache.cpp - Pose.cpp - PoseList.cpp - PoseView.cpp - PoseViewScripting.cpp - QueryContainerWindow.cpp - QueryPoseView.cpp - RecentItems.cpp - RegExp.cpp - SelectionWindow.cpp - Settings.cpp - SettingsHandler.cpp - SettingsViews.cpp - SlowContextPopup.cpp - SlowMenu.cpp - StatusWindow.cpp - TaskLoop.cpp - TemplatesMenu.cpp - Tests.cpp - TextWidget.cpp - Thread.cpp - TitleView.cpp - Tracker.cpp - TrackerInitialState.cpp - TrackerScripting.cpp - TrackerSettings.cpp - TrackerSettingsWindow.cpp - TrackerString.cpp - TrashWatcher.cpp - Utilities.cpp - ViewState.cpp - VirtualDirectoryEntryList.cpp - VirtualDirectoryManager.cpp - VirtualDirectoryPoseView.cpp - VirtualDirectoryWindow.cpp - VolumeWindow.cpp - WidgetAttributeText.cpp - - : be translation $(vector_icon_libs) $(TARGET_LIBSTDC++) localestub libshared.a - ; - DoCatalogs libtracker.so : x-vnd.Haiku-libtracker : diff --git a/src/kits/translation/Jamfile b/src/kits/translation/Jamfile index b32db32dca..1a35c34d55 100644 --- a/src/kits/translation/Jamfile +++ b/src/kits/translation/Jamfile @@ -8,19 +8,25 @@ if $(TARGET_PLATFORM) != haiku { } UsePrivateHeaders translation textencoding ; -UsePrivateSystemHeaders ; -SharedLibrary libtranslation.so : - BitmapStream.cpp - FuncTranslator.cpp - TranslationUtils.cpp - Translator.cpp - TranslatorRoster.cpp +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + UsePrivateSystemHeaders ; - : be libtextencoding.so $(TARGET_LIBSTDC++) -; + SharedLibrary [ MultiArchDefaultGristFiles libtranslation.so ] : + BitmapStream.cpp + FuncTranslator.cpp + TranslationUtils.cpp + Translator.cpp + TranslatorRoster.cpp + + : be textencoding $(TARGET_LIBSTDC++) + ; + } +} if $(TARGET_PLATFORM) = libbe_test { - HaikuInstall install-test-apps : $(HAIKU_APP_TEST_LIB_DIR) : libtranslation.so - : tests!apps ; + HaikuInstall install-test-apps : $(HAIKU_APP_TEST_LIB_DIR) + : libtranslation.so : tests!apps ; } diff --git a/src/libs/alm/Jamfile b/src/libs/alm/Jamfile index 9ec1d339ab..b79e3df69f 100644 --- a/src/libs/alm/Jamfile +++ b/src/libs/alm/Jamfile @@ -3,19 +3,25 @@ SubDir HAIKU_TOP src libs alm ; UseLibraryHeaders linprog alm ; UsePrivateHeaders shared ; -UseHeaders [ FDirName $(SUBDIR) $(DOTDOT) $(DOTDOT) kits interface ] ; +UseHeaders [ FDirName $(HAIKU_TOP) src kits interface ] ; -SharedLibrary libalm.so : - ALMGroup.cpp - ALMLayout.cpp - ALMLayoutBuilder.cpp - Area.cpp - Column.cpp - Row.cpp - RowColumnManager.cpp - SharedSolver.cpp - Tab.cpp - : - liblinprog.a be $(TARGET_LIBSTDC++) -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + SharedLibrary [ MultiArchDefaultGristFiles libalm.so ] : + ALMGroup.cpp + ALMLayout.cpp + ALMLayoutBuilder.cpp + Area.cpp + Column.cpp + Row.cpp + RowColumnManager.cpp + SharedSolver.cpp + Tab.cpp + : + [ MultiArchDefaultGristFiles liblinprog.a ] + be $(TARGET_LIBSTDC++) + ; + } +} diff --git a/src/libs/fluidsynth/src/Jamfile b/src/libs/fluidsynth/src/Jamfile index a31c4fbabe..5aec16f3dd 100644 --- a/src/libs/fluidsynth/src/Jamfile +++ b/src/libs/fluidsynth/src/Jamfile @@ -6,34 +6,39 @@ UseLibraryHeaders fluidsynth ; SubDirCcFlags -DHAVE_CONFIG_H ; -SharedLibrary libfluidsynth.so : - fluid_adriver.c - fluid_aufile.c - fluid_chan.c - fluid_chorus.c - fluid_cmd.c - fluid_conv.c - fluid_defsfont.c - fluid_dsp_float.c - fluid_event.c - fluid_gen.c - fluid_hash.c - fluid_io.c - fluid_list.c - fluid_mdriver.c - fluid_midi.c - fluid_midi_router.c - fluid_mod.c - fluid_ramsfont.c - fluid_rev.c - fluid_seq.c - fluid_seqbind.c - fluid_settings.c - fluid_synth.c - fluid_sys.c - fluid_tuning.c - fluid_voice.c -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + SharedLibrary [ MultiArchDefaultGristFiles libfluidsynth.so ] : + fluid_adriver.c + fluid_aufile.c + fluid_chan.c + fluid_chorus.c + fluid_cmd.c + fluid_conv.c + fluid_defsfont.c + fluid_dsp_float.c + fluid_event.c + fluid_gen.c + fluid_hash.c + fluid_io.c + fluid_list.c + fluid_mdriver.c + fluid_midi.c + fluid_midi_router.c + fluid_mod.c + fluid_ramsfont.c + fluid_rev.c + fluid_seq.c + fluid_seqbind.c + fluid_settings.c + fluid_synth.c + fluid_sys.c + fluid_tuning.c + fluid_voice.c + ; + } +} # // for testing purpose #StdBinCommands fluidsynth.c : libfluidsynth.so ; diff --git a/src/libs/gnu/Jamfile b/src/libs/gnu/Jamfile index bc275def40..a6d0bdb341 100644 --- a/src/libs/gnu/Jamfile +++ b/src/libs/gnu/Jamfile @@ -3,6 +3,11 @@ SubDir HAIKU_TOP src libs gnu ; UseHeaders [ FDirName $(HAIKU_TOP) headers compatibility gnu ] : true ; UsePrivateHeaders shared ; -SharedLibrary libgnu.so : - xattr.cpp -; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + SharedLibrary [ MultiArchDefaultGristFiles libgnu.so ] : + xattr.cpp + ; + } +} diff --git a/src/libs/iconv/Jamfile b/src/libs/iconv/Jamfile index 80c4a32cf8..bb1b4dbfc5 100644 --- a/src/libs/iconv/Jamfile +++ b/src/libs/iconv/Jamfile @@ -5,17 +5,24 @@ AddSubDirSupportedPlatforms libbe_test ; UseLibraryHeaders iconv ; -# disable warnings we don't want here -TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) - = [ FFilter $(TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH)) - : -Wmissing-prototypes -Wsign-compare ] ; +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; -SubDirCcFlags - -DLIBDIR="\\\"/boot/system/lib\\\"" - -DICONV_CONST="" - ; + # disable warnings we don't want here + TARGET_WARNING_CCFLAGS_$(architecture) + = [ FFilter $(TARGET_WARNING_CCFLAGS_$(architecture)) + : -Wmissing-prototypes -Wsign-compare ] ; -StaticLibrary libiconv.a : - iconv.c - localcharset.c - ; + SubDirCcFlags + -DLIBDIR="\\\"/boot/system/lib\\\"" + -DICONV_CONST="" + ; + + StaticLibrary [ MultiArchDefaultGristFiles libiconv.a ] : + iconv.c + localcharset.c + ; + } +} diff --git a/src/libs/linprog/Jamfile b/src/libs/linprog/Jamfile index 0cbda3853d..e97e04be08 100644 --- a/src/libs/linprog/Jamfile +++ b/src/libs/linprog/Jamfile @@ -6,12 +6,16 @@ UseLibraryHeaders linprog ; UsePrivateHeaders shared ; -StaticLibrary liblinprog.a : - ActiveSetSolver.cpp - Constraint.cpp - LayoutOptimizer.cpp - LinearSpec.cpp - Summand.cpp - Variable.cpp -; - +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + StaticLibrary [ MultiArchDefaultGristFiles liblinprog.a ] : + ActiveSetSolver.cpp + Constraint.cpp + LayoutOptimizer.cpp + LinearSpec.cpp + Summand.cpp + Variable.cpp + ; + } +}