[haiku-commits] haiku: hrev47677 - src/system/libroot/stubbed build/jam src src/tests src/add-ons

  • From: zooey@xxxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 13 Aug 2014 14:03:25 +0200 (CEST)

hrev47677 adds 22 changesets to branch 'master'
old head: 7e03464586277ae65a27b074b129bab1f2dc6124
new head: 87e8603d9f4cecce2250564deb85bc2ef5c23bfa
overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=87e8603+%5E7e03464

----------------------------------------------------------------------------

bd04aa3: Cleanup: Fix missing evaluation of HAIKU_NO_LIBSUPC++.
  
  * There's no user of HAIKU_NO_LIBSUPC++ anywhere, so the typo didn't
    have any effect.

2ae3c64: Improve IsPackageAvailable()
  
  * When adjusting the package name for the secondary architecture,
    it is unclear where exactly in the package name the architecture
    specifier is. To remedy, we try all possible positions until
    we find the package (or there are no other possibilities).

5bddecb: Add build features gcc_syslibs and gcc_syslibs_devel.
  
  * gcc_syslibs contains the shared libraries that are being built
    as part of gcc, i.e. libgcc_s.so, libsupc++.so and libstdc++.so
  * gcc_syslibs_devel contains the static versions of the respective
    libraries plus additionally kernel versions of libgcc.a and
    libsupc++.a (which do not provide support for pthreads or TLS
    and thus do not have any external dependencies). Additionally,
    this build feature contains the c++ and gcc headers from the
    non-legacy compiler.

ed25955: Add SystemLibraryRules.
  
  * This file contains jam rules for getting the different versions
    of libgcc, libsupc++ and libstdc++ used throughout Haiku's
    build system.
  * Additionally, there are rules for accessing the c++ headers
    and the gcc headers.
  * These rules are included by Jamrules, but not yet used anywhere.

a07cdb6: Define two pseudo targets for the target and build platform.
  
  * The main build rules now cause their targets to depend on the
    platform such that global per-platform intializations can be
    set up by making the platform pseudo target depend on the
    target returned by the initialization rule.

afde447: * When using the non-legacy compiler, use the c++ and gcc headers
    provided in the gcc_syslibs_devel build feature for building Haiku.
  * Simplify declaration of c++ and gcc headers for the legacy compiler -
    in the end we always use the ones living by our source tree anyway.
  * Fix a couple of missing local declarations for jam variables, which
    were necessary to avoid a build problem with strace. There are
    probably more bugs like these hiding in our build system files, but
    I'm saving the fix for those to the next commit.
  * Add new gcc packages to the HaikuPorts (x86*-)repositories.

938bf9f: Add more missing 'local's to variable declarations.

77253e6: Switch to using crtbeginS.o and crtendS.o unconditionally.

220d040: Use libstdc++, libsupc++ and libgcc from gcc_syslibs.
  
  * Instead of faking libstdc++.so from libstdc++.a, use libstdc++.so
    from the gcc_syslibs build feature for everything except x86_gcc2.
  * Use libgcc_s.so from the gcc_syslibs build feature for everything but
    x86_gcc2 (which still carries libgcc as part of libroot.so).
  * Drop filtering of libgcc objects for libroot, as that is no longer
    necessary since we're only using libgcc-as-single-object for libroot
    with x86_gcc2, where the filtered object file doesn't exist. Should
    the objects that used to be filtered cause any problems as part of
    libgcc_s.so, we can always filter them as part of the gcc build.
  * Use libsupc++.so from the gcc_syslibs build feature for everything but
    x86_gcc2.
  * Adjust all Jamfiles accordingly.
  * Deactivate building of faked libstdc++.so for non-x86-gcc2. For
    x86_gcc2, we still build libstdc++.so from the sources in the Haiku
    source tree as part of the Haiku build .
  * Put gcc_syslibs package onto the image, when needed.

37f558d: Let runtime_loader ignore RT_RELRO program headers.
  
  * The new libstdc++.so contains program headers of type PT_RELRO (for
    making segments read-only after relocation). While the actual feature
    has not been implemented, the runtime_loader should now silently
    accept (and ignore) those program headers.

11ae3c5: Cleanup build system and configuration.
  
  * Drop unused variables from build system that refer to the system
    libraries.
  * Drop unused lists of libgcc objects.
  * Drop no longer used variables from configuration script.
  * Remove no longer needed building of kernel-libgcc and -libsupc++ from
    build_cross_tools_gcc4, only the boot-specific (32-bit) libs are
    built for a x86_64 target.
  * Explicitly disable threads and TLS support when building the cross
    compiler, as the only libraries that are used by Haiku's build system
    is the 32-bit libgcc and libsupc++ for the bootloader on x86_64 (and
    for that neither is wanted).

1af12df: Drop Jamfile for building non-legacy libstdc++.so.
  
  * We no longer fake it by converting the static lib into a shared one.

b2883f6: Add support for building <stubbed>libroot.so.
  
  * <stubbed>libroot.so is a shared library which contains all the symbols
    from libroot, but without any code. This library will be required by
    the (to be introduced) stage0 of the bootstrap process, in order to
    be able to link the shared gcc syslibs (libstdc++.so, libsupc++.so
    and libgcc_s.so).

4ca98ce: Cleanup with respect to headers rules.
  
  * Move specialcasing of gcc2 from HeadersRules into the respective rule
    in SystemLibraryRules.

ad59825: Set default of HAIKU_CONTINUOUS_INTEGRATION_BUILD.

91e3c84: Only add Webpositive to image if it is available.

b80e14a: Add pseudo target for bootstrap_stage0 platform.

445257f: Fix missing symbols in <stubbed>libroot.so.
  
  * A couple of symbols reuse the same address (via weak symbols), so
    we adjust generate_stubs.py accordingly.

f7653b1: Optionally build glue code for bootstrap_stage0 platform.

2e477cf: Simplify handling of package names.
  
  * No longer apply somewhat crude mechanism for converting a package name
    into a corresponding port name - haikuporter by now supports package
    names directly.
  
  This fixes a problem when trying to pass 'gcc_syslibs_devel' to
  haikuporter, which only ever saw 'gcc_syslibs'.

e29a6c4: Introduce stage0 into the bootstrap process.
  
  * This stage builds the gcc packages to get the shared syslibs, which
    only requires the Haiku glue code.
  * Add separate declaration section for stage0 packages to
    HaikuPortsCross repository files.
  * For the bootstrap_stage0 platform, fall back to the gcc headers
    provided by the cross-compiler.

87e8603: Merge branch 'gcc_syslibs'
  
  * From now on, the gcc-specific system libraries (libgcc, libsupc++ and
    libstdc++) are provided by separate packages built along with gcc:
    - gcc_syslibs contains the shared libraries (libgcc_s.so, libsupc++.so and
      libstdc++.so)
    - gcc_syslibs_devel contains the static libraries and both c++ and gcc
      headers
    The shared libraries now make proper use of symbol versioning and there
    are version-specific symlinks
  * The buildsystem has been adjusted to no longer use the libraries and
    headers from the cross-compiler, but use the ones provided by the
    above-mentioned packages. The only exception is that the 32-bit libraries
    required for the bootloader of the x86_64 architecture are still taken
    from the cross-compiler.

                                    [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ]

----------------------------------------------------------------------------

492 files changed, 7119 insertions(+), 996 deletions(-)
Jamfile                                          |   40 +-
Jamrules                                         |    1 +
build/jam/ArchitectureRules                      |  104 +-
build/jam/BootRules                              |    8 +-
build/jam/BuildFeatures                          |   55 +-
build/jam/BuildSetup                             |   39 +-
build/jam/ConfigRules                            |    2 +
build/jam/DefaultBuildProfiles                   |    4 +
build/jam/HeadersRules                           |   18 +-
build/jam/ImageRules                             |    1 +
build/jam/KernelRules                            |   11 +-
build/jam/LocaleRules                            |    3 +-
build/jam/MainBuildRules                         |   40 +-
build/jam/MathRules                              |    1 +
build/jam/OverriddenJamRules                     |   14 +-
build/jam/RepositoryRules                        |   61 +-
build/jam/SystemLibraryRules                     |  359 +++
build/jam/images/definitions/minimum             |    3 +-
build/jam/images/definitions/regular             |    3 +-
build/jam/packages/Haiku                         |    2 +
build/jam/packages/HaikuBootstrap                |    2 +
build/jam/packages/HaikuCrossDevel               |   90 +-
build/jam/repositories/Haiku                     |    6 +-
build/jam/repositories/HaikuPorts/x86            |    7 +-
build/jam/repositories/HaikuPorts/x86_64         |    6 +-
build/jam/repositories/HaikuPorts/x86_gcc2       |    7 +-
build/jam/repositories/HaikuPortsCross/arm       |    6 +-
build/jam/repositories/HaikuPortsCross/m68k      |    2 +
build/jam/repositories/HaikuPortsCross/ppc       |    6 +-
build/jam/repositories/HaikuPortsCross/x86       |   12 +-
build/jam/repositories/HaikuPortsCross/x86_64    |    6 +-
build/jam/repositories/HaikuPortsCross/x86_gcc2  |   12 +-
build/scripts/build_cross_tools_gcc4             |   53 +-
configure                                        |  108 +-
headers/private/system/elf_common.h              |    1 +
src/add-ons/accelerants/radeon_hd/Jamfile        |    2 +-
src/add-ons/decorators/BeDecorator/Jamfile       |    2 +-
src/add-ons/decorators/MacDecorator/Jamfile      |    2 +-
src/add-ons/decorators/WinDecorator/Jamfile      |    2 +-
src/add-ons/disk_systems/bfs/Jamfile             |    2 +-
src/add-ons/disk_systems/gpt/Jamfile             |    2 +-
src/add-ons/disk_systems/intel/Jamfile           |    2 +-
src/add-ons/disk_systems/ntfs/Jamfile            |    2 +-
src/add-ons/index_server/audiotags/Jamfile       |    2 +-
src/add-ons/index_server/fulltext/Jamfile        |    2 +-
.../input_server/devices/keyboard/Jamfile        |    2 +-
src/add-ons/input_server/devices/mouse/Jamfile   |    2 +-
src/add-ons/input_server/devices/tablet/Jamfile  |    2 +-
src/add-ons/input_server/devices/wacom/Jamfile   |    2 +-
.../input_server/filters/screen_saver/Jamfile    |    2 +-
.../filters/shortcut_catcher/Jamfile             |    2 +-
.../input_server/filters/vmware_mouse/Jamfile    |    2 +-
src/add-ons/input_server/methods/canna/Jamfile   |    2 +-
src/add-ons/kernel/busses/virtio/Jamfile         |    2 -
src/add-ons/kernel/file_systems/bindfs/Jamfile   |    1 -
.../netfs/authentication_server/Jamfile          |    2 +-
.../kernel/file_systems/netfs/client/Jamfile     |    2 +-
.../kernel/file_systems/netfs/server/Jamfile     |    2 +-
.../kernel/file_systems/nfs4/idmapper/Jamfile    |    2 +-
.../kernel/file_systems/packagefs/Jamfile        |    4 +-
src/add-ons/kernel/file_systems/ramfs/Jamfile    |    2 -
src/add-ons/kernel/file_systems/reiserfs/Jamfile |    2 -
.../userlandfs/kernel_add_on/Jamfile             |    2 -
.../file_systems/userlandfs/server/Jamfile       |    2 +-
.../file_systems/userlandfs/server/beos/Jamfile  |    2 +-
.../file_systems/userlandfs/server/fuse/Jamfile  |    2 +-
.../file_systems/userlandfs/server/haiku/Jamfile |    2 +-
src/add-ons/locale/catalogs/plaintext/Jamfile    |    2 +-
src/add-ons/locale/collators/Jamfile             |    4 +-
.../inbound_filters/match_header/Jamfile         |    2 +-
.../mail_daemon/inbound_filters/notifier/Jamfile |    2 +-
.../inbound_filters/spam_filter/Jamfile          |    2 +-
.../mail_daemon/inbound_protocols/imap/Jamfile   |    2 +-
.../mail_daemon/inbound_protocols/pop3/Jamfile   |    2 +-
.../mail_daemon/outbound_filters/fortune/Jamfile |    2 +-
.../mail_daemon/outbound_protocols/smtp/Jamfile  |    2 +-
src/add-ons/media/media-add-ons/dvb/Jamfile      |    2 +-
.../media/media-add-ons/equalizer/Jamfile        |    2 +-
.../media/media-add-ons/esound_sink/Jamfile      |    2 +-
.../media/media-add-ons/firewire_dv/Jamfile      |    2 +-
src/add-ons/media/media-add-ons/legacy/Jamfile   |    2 +-
src/add-ons/media/media-add-ons/mixer/Jamfile    |    2 +-
.../media/media-add-ons/multi_audio/Jamfile      |    2 +-
.../media/media-add-ons/opensound/Jamfile        |    2 +-
src/add-ons/media/media-add-ons/reader/Jamfile   |    2 +-
.../media-add-ons/tone_producer_demo/Jamfile     |    2 +-
.../media/media-add-ons/usb_vision/Jamfile       |    2 +-
.../media/media-add-ons/usb_webcam/Jamfile       |    2 +-
.../media-add-ons/video_producer_demo/Jamfile    |    2 +-
.../media/media-add-ons/videowindow/Jamfile      |    2 +-
src/add-ons/media/media-add-ons/vst_host/Jamfile |    2 +-
src/add-ons/media/plugins/ac3_decoder/Jamfile    |    2 +-
src/add-ons/media/plugins/aiff_reader/Jamfile    |    2 +-
src/add-ons/media/plugins/ape_reader/Jamfile     |    2 +-
src/add-ons/media/plugins/asf_reader/Jamfile     |    2 +-
src/add-ons/media/plugins/au_reader/Jamfile      |    2 +-
src/add-ons/media/plugins/avi_reader/Jamfile     |    2 +-
src/add-ons/media/plugins/ffmpeg/Jamfile         |    2 +-
src/add-ons/media/plugins/matroska/Jamfile       |    2 +-
[ *** stats truncated: 393 lines dropped *** ]

############################################################################

Commit:      bd04aa3772fea5fc96a4cbe332108305d464a53c
URL:         http://cgit.haiku-os.org/haiku/commit/?id=bd04aa3
Author:      Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
Date:        Tue Jul 15 11:43:51 2014 UTC

Cleanup: Fix missing evaluation of HAIKU_NO_LIBSUPC++.

* There's no user of HAIKU_NO_LIBSUPC++ anywhere, so the typo didn't
  have any effect.

----------------------------------------------------------------------------

diff --git a/build/jam/BootRules b/build/jam/BootRules
index c3581e2..88e1c99 100644
--- a/build/jam/BootRules
+++ b/build/jam/BootRules
@@ -53,7 +53,7 @@ rule BootLd
        # Remove any preset LINKLIBS, but link against libgcc.a. Linking against
        # libsupc++ is opt-out.
        local libs ;
-       if ! [ on $(1) return HAIKU_NO_LIBSUPC++ ] {
+       if ! [ on $(1) return $(HAIKU_NO_LIBSUPC++) ] {
                libs += $(TARGET_BOOT_LIBSUPC++) ;
        }
        LINKLIBS on $(1) =  $(libs) $(TARGET_BOOT_LIBGCC) ;
diff --git a/build/jam/KernelRules b/build/jam/KernelRules
index 3799143..8fa5ab3 100644
--- a/build/jam/KernelRules
+++ b/build/jam/KernelRules
@@ -47,7 +47,7 @@ rule KernelLd
        # Remove any preset LINKLIBS, but link against libgcc.a. Linking against
        # libsupc++ is opt-out.
        local libs ;
-       if ! [ on $(1) return HAIKU_NO_LIBSUPC++ ] {
+       if ! [ on $(1) return $(HAIKU_NO_LIBSUPC++) ] {
                libs += $(TARGET_KERNEL_LIBSUPC++) ;
        }
        LINKLIBS on $(1) =  $(libs) $(TARGET_KERNEL_LIBGCC) ;

############################################################################

Commit:      2ae3c649431bf5888b98d8b7b8712e1a7c7b59b5
URL:         http://cgit.haiku-os.org/haiku/commit/?id=2ae3c64
Author:      Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
Date:        Thu Jul 24 18:52:40 2014 UTC

Improve IsPackageAvailable()

* When adjusting the package name for the secondary architecture,
  it is unclear where exactly in the package name the architecture
  specifier is. To remedy, we try all possible positions until
  we find the package (or there are no other possibilities).

----------------------------------------------------------------------------

diff --git a/build/jam/RepositoryRules b/build/jam/RepositoryRules
index 4520b81..c2fba17 100644
--- a/build/jam/RepositoryRules
+++ b/build/jam/RepositoryRules
@@ -510,18 +510,31 @@ rule FSplitPackageName packageName
 }
 
 
-rule IsPackageAvailable package : flags
+rule IsPackageAvailable packageName : flags
 {
        # for a secondary architecture adjust the package name
        if $(TARGET_PACKAGING_ARCH) != $(TARGET_PACKAGING_ARCHS[1])
                && ! nameResolved in $(flags) {
-               local splitName = [ FSplitPackageName $(package) ] ;
-               splitName = $(splitName[1]) $(TARGET_PACKAGING_ARCH) 
$(splitName[2-]) ;
-               package = $(splitName:J=_) ;
+               # The position of the secondary architecture within the package 
name
+               # is not well defined, so we scan for it starting from the back.
+               local packageNameHead = $(packageName) ;
+               local packageNameTail = ;
+               while $(packageNameHead) {
+                       local splitName = [ FSplitPackageName 
$(packageNameHead) ] ;
+                       splitName = $(splitName[1]) $(TARGET_PACKAGING_ARCH) 
$(splitName[2])
+                               $(packageNameTail) ;
+                       packageName = $(splitName:J=_) ;
+                       if $(packageName) in $(HAIKU_AVAILABLE_PACKAGES) {
+                               return $(packageName) ;
+                       }
+                       local splitHead = [ Match "(.*)_([^_]*)" : 
$(packageNameHead) ] ;
+                       packageNameHead = $(splitHead[1]) ;
+                       packageNameTail = $(splitHead[2]) $(packageNameTail) ;
+               }
        }
 
-       if $(package) in $(HAIKU_AVAILABLE_PACKAGES) {
-               return $(package) ;
+       if $(packageName) in $(HAIKU_AVAILABLE_PACKAGES) {
+               return $(packageName) ;
        }
 
        return ;

############################################################################

Commit:      5bddecbc3be6061a1c227693d92cdf85aa0e5606
URL:         http://cgit.haiku-os.org/haiku/commit/?id=5bddecb
Author:      Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
Date:        Fri Jul 25 16:37:14 2014 UTC

Add build features gcc_syslibs and gcc_syslibs_devel.

* gcc_syslibs contains the shared libraries that are being built
  as part of gcc, i.e. libgcc_s.so, libsupc++.so and libstdc++.so
* gcc_syslibs_devel contains the static versions of the respective
  libraries plus additionally kernel versions of libgcc.a and
  libsupc++.a (which do not provide support for pthreads or TLS
  and thus do not have any external dependencies). Additionally,
  this build feature contains the c++ and gcc headers from the
  non-legacy compiler.

----------------------------------------------------------------------------

diff --git a/build/jam/BuildFeatures b/build/jam/BuildFeatures
index 740dde0..6ee32be 100644
--- a/build/jam/BuildFeatures
+++ b/build/jam/BuildFeatures
@@ -5,6 +5,7 @@
 
 local architecture = $(TARGET_PACKAGING_ARCH) ;
 local secondaryArchSubDir = [ MultiArchIfPrimary "" : /$(architecture) ] ;
+local libDir = lib$(secondaryArchSubDir) ;
 local developLibDir = develop/lib$(secondaryArchSubDir) ;
 local developHeadersDir = develop/headers$(secondaryArchSubDir) ;
 
@@ -36,9 +37,61 @@ if $(HAIKU_BUILD_FEATURE_SSL) {
 }
 
 
+# gcc_syslibs
+
+if $(TARGET_PACKAGING_ARCH) != x86_gcc2 {
+       if [ IsPackageAvailable gcc_syslibs ] {
+               ExtractBuildFeatureArchives gcc_syslibs :
+                       file: base gcc_syslibs
+                               libgcc_s.so: $(libDir)/libgcc_s.so
+                               libstdc++.so: $(libDir)/libstdc++.so
+                               libsupc++.so: $(libDir)/libsupc++.so
+                       ;
+
+               EnableBuildFeatures gcc_syslibs ;
+       } else  {
+               Echo "gcc_syslibs not available for $(TARGET_PACKAGING_ARCH)" ;
+       }
+}
+
+
+# gcc_syslibs_devel
+
+if [ IsPackageAvailable gcc_syslibs_devel ] {
+       if $(TARGET_PACKAGING_ARCH) = x86_gcc2 {
+               ExtractBuildFeatureArchives gcc_syslibs_devel :
+                       file: base gcc_syslibs_devel
+                               libgcc.a: $(developLibDir)/libgcc.a
+                               libgcc_eh.a:
+                               libgcc-kernel.a: $(developLibDir)/libgcc.a
+                               libgcc_eh-kernel.a:
+                               libstdc++.a:
+                               libsupc++.a:
+                               libsupc++-kernel.a:
+                       ;
+       } else {
+               ExtractBuildFeatureArchives gcc_syslibs_devel :
+                       file: base gcc_syslibs_devel
+                               libgcc.a: $(developLibDir)/libgcc.a
+                               libgcc_eh.a: $(developLibDir)/libgcc_eh.a
+                               libgcc-kernel.a: 
$(developLibDir)/libgcc-kernel.a
+                               libgcc_eh-kernel.a: $(developLibDir)/libgcc_eh.a
+                               libstdc++.a: $(developLibDir)/libstdc++.a
+                               libsupc++.a: $(developLibDir)/libsupc++.a
+                               libsupc++-kernel.a: 
$(developLibDir)/libsupc++-kernel.a
+                               c++-headers: $(developHeadersDir)/c++
+                               gcc-headers: $(developHeadersDir)/gcc
+                       ;
+       }
+
+       EnableBuildFeatures gcc_syslibs_devel ;
+} else  {
+       Echo "gcc_syslibs_devel not available for $(TARGET_PACKAGING_ARCH)" ;
+}
+
+
 # ICU
 
-# Note ICU isn't actually optional, but is still an external package
 if [ IsPackageAvailable icu_devel ] {
        ExtractBuildFeatureArchives icu :
                file: base icu

############################################################################

Commit:      ed25955ada10b7bb84e4a1d62ed481779490d5bd
URL:         http://cgit.haiku-os.org/haiku/commit/?id=ed25955
Author:      Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
Date:        Sat Jul 26 11:08:30 2014 UTC

Add SystemLibraryRules.

* This file contains jam rules for getting the different versions
  of libgcc, libsupc++ and libstdc++ used throughout Haiku's
  build system.
* Additionally, there are rules for accessing the c++ headers
  and the gcc headers.
* These rules are included by Jamrules, but not yet used anywhere.

----------------------------------------------------------------------------

diff --git a/Jamrules b/Jamrules
index fb4eaf7..1a1fac1 100644
--- a/Jamrules
+++ b/Jamrules
@@ -57,6 +57,7 @@ include [ FDirName $(HAIKU_BUILD_RULES_DIR) MiscRules ] ;
 include [ FDirName $(HAIKU_BUILD_RULES_DIR) OverriddenJamRules ] ;
 include [ FDirName $(HAIKU_BUILD_RULES_DIR) PackageRules ] ;
 include [ FDirName $(HAIKU_BUILD_RULES_DIR) RepositoryRules ] ;
+include [ FDirName $(HAIKU_BUILD_RULES_DIR) SystemLibraryRules ] ;
 include [ FDirName $(HAIKU_BUILD_RULES_DIR) TestsRules ] ;
 include [ FDirName $(HAIKU_BUILD_RULES_DIR) BuildSetup ] ;
 include [ FDirName $(HAIKU_BUILD_RULES_DIR) DefaultBuildProfiles ] ;
diff --git a/build/jam/SystemLibraryRules b/build/jam/SystemLibraryRules
new file mode 100644
index 0000000..3a161f6
--- /dev/null
+++ b/build/jam/SystemLibraryRules
@@ -0,0 +1,348 @@
+rule Libstdc++ForImage
+{
+       # Libstdc++ForImage
+       #
+       # Returns the c++-standard-library to be put onto the image.
+
+       if $(TARGET_PACKAGING_ARCH) = x86_gcc2 {
+               # the libstdc++.so for our legacy compiler (needs to be built)
+               return libstdc++.r4.so ;
+       }
+
+       # libstdc++.so for other architectures comes with the gcc_syslibs
+       # package, so there's no library to put onto the image directly.
+       return ;
+}
+
+
+rule TargetLibstdc++ asPath
+{
+       # TargetLibstdc++ [ <asPath> ]
+       #
+       # Returns the c++-standard-library for the target.
+       # Invoking with <asPath> = true will return the full library path.
+
+       if $(TARGET_PLATFORM) = haiku {
+               if $(TARGET_PACKAGING_ARCH) = x86_gcc2 {
+                       # the libstdc++.so for our legacy compiler (needs to be 
built)
+                       return libstdc++.r4.so ;
+               }
+               # return libstdc++.so from the gcc_syslibs build feature.
+               local flags ;
+               if $(asPath) = true {
+                       flags += path ;
+               }
+               return [
+                       BuildFeatureAttribute gcc_syslibs : libstdc++.so : 
$(flags)
+               ] ;
+       } else {
+               # TODO: return libstdc++.so for non-Haiku target platform if 
needed
+       }
+}
+
+
+rule TargetLibsupc++ asPath
+{
+       # TargetLibsupc++ [ <asPath> ]
+       #
+       # Returns the c++-support-library for the target.
+       # Invoking with <asPath> = true will return the full library path.
+
+       if $(TARGET_PLATFORM) = haiku {
+               if $(TARGET_PACKAGING_ARCH) = x86_gcc2 {
+                       # there is no libsupc++.so for the legacy compiler
+                       return ;
+               }
+               # return libsupc++.so from the gcc_syslibs build feature.
+               local flags ;
+               if $(asPath) = true {
+                       flags += path ;
+               }
+               return [
+                       BuildFeatureAttribute gcc_syslibs : libsupc++.so : 
$(flags)
+               ] ;
+       } else {
+               # TODO: return libsupc++.so for non-Haiku target platform if 
needed
+       }
+}
+
+
+rule TargetStaticLibsupc++ asPath
+{
+       # TargetStaticLibsupc++ [ <asPath> ]
+       #
+       # Returns the static c++-support-library for the target.
+       # Invoking with <asPath> = true will return the full library path.
+
+       if $(TARGET_PLATFORM) = haiku {
+               # return libsupc++.a from the gcc_syslibs_devel build feature.
+               local flags ;
+               if $(asPath) = true {
+                       flags += path ;
+               }
+               return [
+                       BuildFeatureAttribute gcc_syslibs_devel : libsupc++.a : 
$(flags)
+               ] ;
+       } else {
+               # TODO: return libsupc++.a for non-Haiku target platform if 
needed
+       }
+}
+
+
+rule TargetKernelLibsupc++ asPath
+{
+       # TargetKernelLibsupc++ [ <asPath> ]
+       #
+       # Returns the static kernel c++-support-library for the target.
+       # Invoking with <asPath> = true will return the full library path.
+
+       if $(TARGET_PLATFORM) = haiku {
+               # return libsupc++-kernel.a from the gcc_syslibs_devel build 
feature.
+               local flags ;
+               if $(asPath) = true {
+                       flags += path ;
+               }
+               return [
+                       BuildFeatureAttribute gcc_syslibs_devel
+                               : libsupc++-kernel.a : $(flags)
+               ] ;
+       } else {
+               # There is no libsupc++-kernel.a for non-Haiku target platform
+       }
+}
+
+
+rule TargetBootLibsupc++ asPath
+{
+       # TargetBootLibsupc++ [ <asPath> ]
+       #
+       # Returns the static bootloader c++-support-library for the target.
+       # Invoking with <asPath> = true will return the full library path.
+
+       if $(TARGET_PLATFORM) = haiku {
+               if $(TARGET_PACKAGING_ARCH) = x86_64 {
+                       # we need to use the 32-bit libsupc++.a built by the 
cross-compiler
+                       return $(TARGET_BOOT_LIBSUPC++) ;
+
+                       # TODO: ideally, we would build this as part of 
gcc_syslibs_devel,
+                       #       but that isn't currently possible, as that 
would require
+                       #       32-bit support (libraries and glue-code) on 
x86_64-Haiku.
+               }
+               # no special boot version of libsupc++.a needed, so we return
+               # libsupc++-kernel.a from the gcc_syslibs_devel build feature.
+               local flags ;
+               if $(asPath) = true {
+                       flags += path ;
+               }
+               return [
+                       BuildFeatureAttribute gcc_syslibs_devel
+                               : libsupc++-kernel.a : $(flags)
+               ] ;
+       } else {
+               # There is no libsupc++-boot.a for non-Haiku target platform
+       }
+}
+
+
+rule TargetLibgcc asPath
+{
+       # TargetLibgcc [ <asPath> ]
+       #
+       # Returns the default libgcc(s) for the target. On x86_gcc2, this is the
+       # static libgcc, on everything else this will return the shared libgcc_s
+       # followed by the static libgcc (both are needed as they do not contain
+       # the same set of symbols).
+       # Invoking with <asPath> = true will return the full library path.
+
+       if $(TARGET_PLATFORM) = haiku {
+               local flags ;
+               if $(asPath) = true {
+                       flags += path ;
+               }
+               if $(TARGET_PACKAGING_ARCH) = x86_gcc2 {
+                       # return libgcc.a from the gcc_syslibs_devel build 
feature.
+                       return [
+                               BuildFeatureAttribute gcc_syslibs_devel : 
libgcc.a : $(flags)
+                       ] ;
+               } else {
+                       # return libgcc_s.so from the gcc_syslibs build feature 
and libgcc.a
+                       # from the gcc_syslibs_devel build feature.
+                       return [
+                               BuildFeatureAttribute gcc_syslibs : libgcc_s.so 
: $(flags)
+                       ] [
+                               BuildFeatureAttribute gcc_syslibs_devel : 
libgcc.a : $(flags)
+                       ] ;
+               }
+       } else {
+               # TODO: return libgcc for non-Haiku target platform if needed
+       }
+}
+
+
+rule TargetStaticLibgcc asPath
+{
+       # TargetStaticLibgcc [ <asPath> ]
+       #
+       # Returns the static libgcc for the target.
+       # Invoking with <asPath> = true will return the full library path.
+
+       if $(TARGET_PLATFORM) = haiku {
+               # return libgcc.a from the gcc_syslibs_devel build feature.
+               local flags ;
+               if $(asPath) = true {
+                       flags += path ;
+               }
+               return [
+                       BuildFeatureAttribute gcc_syslibs_devel : libgcc.a : 
$(flags)
+               ] ;
+       } else {
+               # TODO: return libgcc.a for non-Haiku target platform if needed
+       }
+}
+
+
+rule TargetKernelLibgcc asPath
+{
+       # TargetKernelLibgcc [ <asPath> ]
+       #
+       # Returns the static kernel libgcc for the target.
+       # Invoking with <asPath> = true will return the full library path.
+
+       if $(TARGET_PLATFORM) = haiku {
+               # return libgcc-kernel.a from the gcc_syslibs_devel build 
feature.
+               local flags ;
+               if $(asPath) = true {
+                       flags += path ;
+               }
+               return [
+                       BuildFeatureAttribute gcc_syslibs_devel
+                               : libgcc-kernel.a : $(flags)
+               ] ;
+       } else {
+               # there is no libgcc-kernel.a for non-Haiku target platform
+       }
+}
+
+
+rule TargetBootLibgcc asPath
+{
+       # TargetBootLibgcc [ <asPath> ]
+       #
+       # Returns the static bootloader libgcc for the target.
+       # Invoking with <asPath> = true will return the full library path.
+
+       if $(TARGET_PLATFORM) = haiku {
+               if $(TARGET_PACKAGING_ARCH) = x86_64 {
+                       # we need to use the 32-bit libgcc.a built by the 
cross-compiler
+                       return $(TARGET_BOOT_LIBGCC) ;
+
+                       # TODO: ideally, we would build this as part of 
gcc_syslibs_devel,
+                       #       but that isn't currently possible, as that 
would require
+                       #       32-bit support (libraries and glue-code) on 
x86_64-Haiku.
+               }
+               # no special boot version of libgcc needed, so we return
+               # libgcc-kernel.a from the gcc_syslibs_devel build feature.
+               local flags ;
+               if $(asPath) = true {
+                       flags += path ;
+               }
+               return [
+                       BuildFeatureAttribute gcc_syslibs_devel
+                               : libgcc-kernel.a : $(flags)
+               ] ;
+       } else {
+               # there is no libgcc-boot.a for non-Haiku target platform
+       }
+}
+
+
+rule TargetStaticLibgcceh asPath
+{
+       # TargetStaticLibgcceh [ <asPath> ]
+       #
+       # Returns the static libgcc_eh for the target.
+       # Invoking with <asPath> = true will return the full library path.
+
+       if $(TARGET_PLATFORM) = haiku {
+               # return libgcc.a from the gcc_syslibs_devel build feature.
+               local flags ;
+               if $(asPath) = true {
+                       flags += path ;
+               }
+               return [
+                       BuildFeatureAttribute gcc_syslibs_devel : libgcc_eh.a : 
$(flags)
+               ] ;
+       } else {
+               # TODO: return libgcc_eh.a for non-Haiku target platform if 
needed
+       }
+}
+
+
+rule TargetKernelLibgcceh asPath
+{
+       # TargetKernelLibgcceh [ <asPath> ]
+       #
+       # Returns the static kernel libgcc_eh for the target.
+       # Invoking with <asPath> = true will return the full library path.
+
+       if $(TARGET_PLATFORM) = haiku {
+               # return libgcc_eh-kernel.a from the gcc_syslibs_devel build 
feature.
+               local flags ;
+               if $(asPath) = true {
+                       flags += path ;
+               }
+               return [
+                       BuildFeatureAttribute gcc_syslibs_devel
+                               : libgcc_eh-kernel.a : $(flags)
+               ] ;
+       } else {
+               # there is no libgcc_eh-kernel.a for non-Haiku target platform
+       }
+}
+
+
+rule C++HeaderDirectories architecture
+{
+       # C++HeaderDirectories
+       #
+       # Returns the c++ header directories to use for the given architecture.
+
+       local c++HeaderDirs ;
+       if $(architecture) != x86_gcc2 {
+               local baseDir = [
+                       BuildFeatureAttribute gcc_syslibs_devel : c++-headers : 
path
+               ] ;
+               if $(baseDir) {
+                       c++HeaderDirs =
+                               $(baseDir)
+                               [ FDirName $(baseDir) 
$(HAIKU_GCC_MACHINE_$(architecture)) ]
+                               [ FDirName $(baseDir) backward ]
+                               [ FDirName $(baseDir) ext ]
+                               ;
+               }
+       }
+
+       return $(c++HeaderDirs) ;
+}
+
+rule GccHeaderDirectories architecture
+{
+       # GccHeaderDirectories
+       #
+       # Returns the gcc header directories to use for the given architecture.
+
+       local gccHeaderDirs ;
+       if $(architecture) != x86_gcc2 {
+               local baseDir = [
+                       BuildFeatureAttribute gcc_syslibs_devel : gcc-headers : 
path
+               ] ;
+               if $(baseDir) {
+                       gccHeaderDirs =
+                               [ FDirName $(baseDir) include ]
+                               [ FDirName $(baseDir) include-fixed ]
+                               ;
+               }
+       }
+
+       return $(gccHeaderDirs) ;
+}

############################################################################

Commit:      a07cdb6e9f8e484b6ba9f209fbeb144e906d3405
URL:         http://cgit.haiku-os.org/haiku/commit/?id=a07cdb6
Author:      Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
Date:        Thu Jul 31 12:13:01 2014 UTC

Define two pseudo targets for the target and build platform.

* The main build rules now cause their targets to depend on the
  platform such that global per-platform intializations can be
  set up by making the platform pseudo target depend on the
  target returned by the initialization rule.

----------------------------------------------------------------------------

diff --git a/build/jam/BuildSetup b/build/jam/BuildSetup
index 6cef465..099489a 100644
--- a/build/jam/BuildSetup
+++ b/build/jam/BuildSetup
@@ -861,6 +861,15 @@ PLATFORM = $(TARGET_PLATFORM) ;
 SUPPORTED_PLATFORMS = haiku ;
 
 
+# Define two pseudo targets for the target and buildhost platform. The main
+# build rules (Cc, C++, As, ...) depend on these pseude targets such that 
global
+# initializations that are required before anything is built for a specific
+# platform can be forced by depending the pseudo target for the platform on the
+# initializations.
+NotFile $(TARGET_PLATFORM) ;
+NotFile host ;
+
+
 # Instructs the Library rule to not make its object files temporary.
 # This is needed as some objects are used in a static library and for an
 # executable.
diff --git a/build/jam/MainBuildRules b/build/jam/MainBuildRules
index f8c40ba..317dd61 100644
--- a/build/jam/MainBuildRules
+++ b/build/jam/MainBuildRules
@@ -168,7 +168,7 @@ rule StaticLibraryFromObjects
 
 rule AssembleNasm
 {
-       Depends $(<) : $(>) ;
+       Depends $(<) : $(>) [ on $(<) return $(PLATFORM) ] ;
 }
 
 actions AssembleNasm
@@ -343,7 +343,7 @@ rule CreateAsmStructOffsetsHeader header : source
 
        # locate object, search for source, and set on target variables
 
-       Depends $(header) : $(source) ;
+       Depends $(header) : $(source) $(PLATFORM) ;
        SEARCH on $(source) += $(SEARCH_SOURCE) ;
        MakeLocateArch $(header) ;
        LocalClean clean : $(header) ;
diff --git a/build/jam/OverriddenJamRules b/build/jam/OverriddenJamRules
index 4911114..43f4267 100644
--- a/build/jam/OverriddenJamRules
+++ b/build/jam/OverriddenJamRules
@@ -210,7 +210,7 @@ rule As
                        = 
$(TARGET_SYSTEM_INCLUDES_OPTION_$(TARGET_PACKAGING_ARCH)) ;
        }
 
-       Depends $(<) : $(>) ;
+       Depends $(<) : $(>) [ on $(1) return $(PLATFORM) ] ;
        ASFLAGS on $(<) += $(flags) $(SUBDIRASFLAGS) ;
        ASHDRS on $(<) = [ on $(<) FIncludes $(HDRS) : $(localIncludesOption) ]
                $(includesSeparator)
@@ -227,7 +227,7 @@ actions As
 
 rule Lex
 {
-       Depends $(1) : $(2) ;
+       Depends $(1) : $(2) [ on $(1) return $(PLATFORM) ] ;
        MakeLocateArch $(1) ;
        LocalClean clean : $(1) ;
 }
@@ -245,7 +245,8 @@ rule Yacc
 
        MakeLocateArch $(source) $(header) ;
 
-       Depends $(source) $(header) : $(yaccSource) ;
+       Depends $(source) $(header)
+               : $(yaccSource) [ on $(source) return $(PLATFORM) ] ;
        Yacc1 $(source) $(header) : $(yaccSource) ;
        LocalClean clean : $(source) $(header) ;
 
@@ -263,7 +264,7 @@ actions Yacc1
 
 rule Cc
 {
-       Depends $(<) : $(>) ;
+       Depends $(<) : $(>) [ on $(1) return $(PLATFORM) ] ;
 
        on $(1) {
                local flags ;
@@ -341,7 +342,7 @@ actions Cc
 
 rule C++
 {
-       Depends $(<) : $(>) ;
+       Depends $(<) : $(>) [ on $(1) return $(PLATFORM) ] ;
 
        on $(1) {
                local flags ;
diff --git a/src/tools/gensyscalls/Jamfile b/src/tools/gensyscalls/Jamfile
index 512d0b0..58a8870 100644
--- a/src/tools/gensyscalls/Jamfile
+++ b/src/tools/gensyscalls/Jamfile
@@ -35,7 +35,7 @@ rule PreprocessSyscalls preprocessedHeader : header : 
architecture
 {
        # PreprocessSyscalls <preprocessedHeader> : <header> : <architecture> ;
 
-       Depends $(preprocessedHeader) : $(header) ;
+       Depends $(preprocessedHeader) : $(header) $(PLATFORM) ;
 
        local headers = [ on $(preprocessedHeader)
                return $(SEARCH_SOURCE) $(SUBDIRHDRS) $(HDRS) ] ;

############################################################################

Commit:      afde44733fdff43256384ea0441585a082e73c95
URL:         http://cgit.haiku-os.org/haiku/commit/?id=afde447
Author:      Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
Date:        Thu Jul 31 16:05:36 2014 UTC

* When using the non-legacy compiler, use the c++ and gcc headers
  provided in the gcc_syslibs_devel build feature for building Haiku.
* Simplify declaration of c++ and gcc headers for the legacy compiler -
  in the end we always use the ones living by our source tree anyway.
* Fix a couple of missing local declarations for jam variables, which
  were necessary to avoid a build problem with strace. There are
  probably more bugs like these hiding in our build system files, but
  I'm saving the fix for those to the next commit.
* Add new gcc packages to the HaikuPorts (x86*-)repositories.

----------------------------------------------------------------------------

diff --git a/Jamfile b/Jamfile
index 9a1295a..4d17047 100644
--- a/Jamfile
+++ b/Jamfile
@@ -8,6 +8,15 @@ local architectureObject ;
 for architectureObject in [ MultiArchSubDirSetup ] {
        on $(architectureObject) {
                include [ FDirName $(HAIKU_BUILD_RULES_DIR) BuildFeatures ] ;
+
+               # Let the target platform depend on the external header 
directories such
+               # that those will be unpacked before anything is built for the 
target
+               # platform.
+               Depends $(TARGET_PLATFORM) : [
+                       BuildFeatureAttribute gcc_syslibs_devel : c++-headers
+               ] [
+                       BuildFeatureAttribute gcc_syslibs_devel : gcc-headers
+               ] ;
        }
 }
 
diff --git a/build/jam/ArchitectureRules b/build/jam/ArchitectureRules
index f4e3427..004becb 100644
--- a/build/jam/ArchitectureRules
+++ b/build/jam/ArchitectureRules
@@ -54,14 +54,6 @@ rule ArchitectureSetup architecture
        }
        HAIKU_GCC_BASE_FLAGS_$(architecture) = $(gccBaseFlags) ;
 
-       # override gcc 2.95.3's header directory -- strictly necessary only when
-       # using the BeOS native compiler (since its headers are incompatible), 
but
-       # it doesn't harm for the cross-compiler either.
-       if $(gccVersion[1]) = 2 {
-               HAIKU_GCC_HEADERS_DIR_$(architecture)
-                       = [ FDirName $(HAIKU_TOP) headers build gcc-2.95.3 ] ;
-       }
-
        # initial state for flags etc.
        HAIKU_C++_$(architecture) ?= $(HAIKU_CC_$(architecture)) ;
        HAIKU_LINK_$(architecture) = $(HAIKU_CC_$(architecture)) ;
diff --git a/build/jam/BuildSetup b/build/jam/BuildSetup
index 099489a..3f82f42 100644
--- a/build/jam/BuildSetup
+++ b/build/jam/BuildSetup
@@ -866,6 +866,9 @@ SUPPORTED_PLATFORMS = haiku ;
 # initializations that are required before anything is built for a specific
 # platform can be forced by depending the pseudo target for the platform on the
 # initializations.
+# This is currently used to unpack the external headers from the
+# gcc_syslibs_devel build feature before anything is built for the target
+# platform.
 NotFile $(TARGET_PLATFORM) ;
 NotFile host ;
 
diff --git a/build/jam/HeadersRules b/build/jam/HeadersRules
index bbbfcb9..3b812ad 100644
--- a/build/jam/HeadersRules
+++ b/build/jam/HeadersRules
@@ -137,7 +137,7 @@ rule PublicHeaders
 
        local list = $(1) ;
        local dirs ;
-
+       local i ;
        for i in $(list) {
                dirs += [ FDirName $(HAIKU_TOP) headers os $(i) ] ;
        }
@@ -154,6 +154,7 @@ rule PrivateHeaders
 
        local list = $(1) ;
        local dirs ;
+       local i ;
        for i in $(list) {
                dirs += [ FDirName $(HAIKU_TOP) headers private $(i) ] ;
        }
@@ -170,6 +171,7 @@ rule PrivateBuildHeaders
 
        local list = $(1) ;
        local dirs ;
+       local i ;
        for i in $(list) {
                dirs += [ FDirName $(HAIKU_TOP) headers build private $(i) ] ;
        }
@@ -186,6 +188,7 @@ rule LibraryHeaders
 
        local list = $(1) ;
        local dirs ;
+       local i ;
        for i in $(list) {
                dirs += [ FDirName $(HAIKU_TOP) headers libs $(i) ] ;
        }
@@ -453,17 +456,15 @@ rule FStandardHeaders architecture
 
        local headers = ;
 
-       # The C++ headers. If specified, we use the compiler headers, otherwise
-       # the ones that come with our libstdc++.
-       if $(HAIKU_C++_HEADERS_DIR_$(architecture)) {
-               headers += $(HAIKU_C++_HEADERS_DIR_$(architecture)) ;
+       # The C++ headers and gcc headers.
+       if $(architecture) != x86_gcc2 {
+               headers += [ C++HeaderDirectories $(architecture) ] ;
+               headers += [ GccHeaderDirectories $(architecture) ] ;
        } else {
                headers += [ FDirName $(HAIKU_TOP) headers cpp ] ;
+               headers += [ FDirName $(HAIKU_TOP) headers build gcc-2.95.3 ] ;
        }
 
-       # GCC headers
-       headers += $(HAIKU_GCC_HEADERS_DIR_$(architecture)) ;
-
        # Use headers directory, to allow to do things like include 
<posix/string.h>
        headers += [ FDirName $(HAIKU_TOP) headers ] ;
 
diff --git a/build/jam/LocaleRules b/build/jam/LocaleRules
index e5e34fb..e24a387 100644
--- a/build/jam/LocaleRules
+++ b/build/jam/LocaleRules
@@ -32,7 +32,8 @@ rule ExtractCatalogEntries target : sources : signature : 
regexp
                        localIncludesOption = $(HOST_LOCAL_INCLUDES_OPTION) ;
                        systemIncludesOption = $(HOST_SYSTEM_INCLUDES_OPTION) ;
                } else {
-                       sysHeaders += $(TARGET_HDRS_$(TARGET_PACKAGING_ARCH)) ;
+                       sysHeaders += [ FStandardHeaders 
$(TARGET_PACKAGING_ARCH) ]
+                               $(TARGET_HDRS_$(TARGET_PACKAGING_ARCH)) ;
                        defines += $(TARGET_DEFINES_$(TARGET_PACKAGING_ARCH))
                                $(TARGET_DEFINES) ;
                        cc = $(TARGET_CC_$(TARGET_PACKAGING_ARCH)) ;
diff --git a/build/jam/MainBuildRules b/build/jam/MainBuildRules
index 317dd61..6ca4674 100644
--- a/build/jam/MainBuildRules
+++ b/build/jam/MainBuildRules
@@ -274,7 +274,8 @@ rule CreateAsmStructOffsetsHeader header : source
                        }
 
                } else {
-                       sysHeaders += $(TARGET_HDRS_$(TARGET_PACKAGING_ARCH)) ;
+                       sysHeaders += [ FStandardHeaders 
$(TARGET_PACKAGING_ARCH) ]
+                               $(TARGET_HDRS_$(TARGET_PACKAGING_ARCH)) ;
                        defines += $(TARGET_DEFINES_$(TARGET_PACKAGING_ARCH))
                                $(TARGET_DEFINES) ;
                }
@@ -491,6 +492,8 @@ rule LinkAgainst
        local mapLibs = $(3:E=true) ;
 
        on $(target) {
+               local i ;
+
                # map libraries, if desired and target platform is Haiku
                local map = $(TARGET_LIBRARY_NAME_MAP_$(TARGET_PACKAGING_ARCH)) 
;
                if $(PLATFORM) != host && $(mapLibs) = true && $(map) {
diff --git a/build/jam/OverriddenJamRules b/build/jam/OverriddenJamRules
index 43f4267..e05d37a 100644
--- a/build/jam/OverriddenJamRules
+++ b/build/jam/OverriddenJamRules
@@ -108,7 +108,8 @@ rule Object
                        }
 
                } else {
-                       sysHeaders += $(TARGET_HDRS_$(TARGET_PACKAGING_ARCH)) ;
+                       sysHeaders += [ FStandardHeaders 
$(TARGET_PACKAGING_ARCH) ]
+                               $(TARGET_HDRS_$(TARGET_PACKAGING_ARCH)) ;
                        defines += $(TARGET_DEFINES_$(TARGET_PACKAGING_ARCH))
                                $(TARGET_DEFINES) ;
                }
diff --git a/build/jam/repositories/HaikuPorts/x86 
b/build/jam/repositories/HaikuPorts/x86
index b2add747..8921601 100644
--- a/build/jam/repositories/HaikuPorts/x86
+++ b/build/jam/repositories/HaikuPorts/x86
@@ -44,7 +44,9 @@ RemotePackageRepository HaikuPorts
        freetype-2.5.2-3
        freetype_devel-2.5.2-3
        gawk-4.1.0-2
-       gcc-4.8.3_2014_05_28-2
+       gcc-4.8.3_2014_07_26-1
+       gcc_syslibs-4.8.3_2014_07_26-1
+       gcc_syslibs_devel-4.8.3_2014_07_26-1
        gettext-0.18.1.1-5
        gettext_libintl-0.18.1.1-5
        git-1.8.3.4-2
@@ -177,6 +179,7 @@ RemotePackageRepository HaikuPorts
        freetype_x86_gcc2-2.5.2-3
        freetype_x86_gcc2_devel-2.5.2-3
        gcc_x86_gcc2-2.95.3_2014_07_26-1
+       gcc_x86_gcc2_syslibs_devel-2.95.3_2014_07_26-1
        gettext_x86_gcc2-0.18.1.1-5
        gettext_x86_gcc2_libintl-0.18.1.1-5
        glu_x86_gcc2-9.0.0-2
@@ -244,7 +247,7 @@ RemotePackageRepository HaikuPorts
        fossil
        freetype
        gawk
-#      gcc
+       gcc
        gcc_x86_gcc2
        gettext
        git
diff --git a/build/jam/repositories/HaikuPorts/x86_64 
b/build/jam/repositories/HaikuPorts/x86_64
index ac59c0e..1bd645f 100644
--- a/build/jam/repositories/HaikuPorts/x86_64
+++ b/build/jam/repositories/HaikuPorts/x86_64
@@ -40,7 +40,9 @@ RemotePackageRepository HaikuPorts
        freetype-2.5.2-3
        freetype_devel-2.5.2-3
        gawk-4.1.0-2
-       gcc-4.8.3_2014_05_28-3
+       gcc-4.8.3_2014_07_26-1
+       gcc_syslibs-4.8.3_2014_07_26-1
+       gcc_syslibs_devel-4.8.3_2014_07_26-1
        gettext-0.18.1.1-5
        gettext_libintl-0.18.1.1-5
        git-1.8.3.4-3
@@ -182,7 +184,7 @@ RemotePackageRepository HaikuPorts
        fossil
        freetype
        gawk
-#      gcc
+       gcc
        gettext
        git
        glu
diff --git a/build/jam/repositories/HaikuPorts/x86_gcc2 
b/build/jam/repositories/HaikuPorts/x86_gcc2
index 7f619ef..46877e8 100644
--- a/build/jam/repositories/HaikuPorts/x86_gcc2
+++ b/build/jam/repositories/HaikuPorts/x86_gcc2
@@ -71,6 +71,7 @@ RemotePackageRepository HaikuPorts
        friss-0.8beta-1
        gawk-4.1.0-2
        gcc-2.95.3_2014_07_26-1
+       gcc_syslibs_devel-2.95.3_2014_07_26-1
        getconf-r260000-1
        getopt-1.1.5-1
        gettext-0.18.1.1-6
@@ -333,7 +334,9 @@ RemotePackageRepository HaikuPorts
        ffmpeg_x86_devel-0.10.14-1
        freetype_x86-2.5.2-2
        freetype_x86_devel-2.5.2-2
-       gcc_x86-4.8.3_2014_05_28-3
+       gcc_x86-4.8.3_2014_07_26-1
+       gcc_x86_syslibs-4.8.3_2014_07_26-1
+       gcc_x86_syslibs_devel-4.8.3_2014_07_26-1
        gettext_x86-0.18.1.1-6
        gettext_x86_libintl-0.18.1.1-6
        giflib_x86-5.1.0-1
@@ -549,7 +552,7 @@ RemotePackageRepository HaikuPorts
        friss
        gawk
        gcc
-#      gcc_x86
+       gcc_x86
        getconf
        getopt
        gettext
diff --git a/src/libs/stdc++/legacy/Jamfile b/src/libs/stdc++/legacy/Jamfile
index 3593847..26637ff 100644
--- a/src/libs/stdc++/legacy/Jamfile
+++ b/src/libs/stdc++/legacy/Jamfile
@@ -31,7 +31,7 @@ for architectureObject in [ MultiArchSubDirSetup x86_gcc2 ] {
                        [ FDirName $(HAIKU_TOP) headers os kernel ]
                        [ FDirName $(HAIKU_TOP) headers os storage ]
                        [ FDirName $(HAIKU_TOP) headers os support ]
-                       $(HAIKU_GCC_HEADERS_DIR_x86_gcc2)
+                       [ FDirName $(HAIKU_TOP) headers build gcc-2.95.3 ]
                                # so that include_next will work
                        ;
 
diff --git a/src/tools/gensyscalls/Jamfile b/src/tools/gensyscalls/Jamfile
index 58a8870..4e6f315 100644
--- a/src/tools/gensyscalls/Jamfile
+++ b/src/tools/gensyscalls/Jamfile
@@ -43,6 +43,7 @@ rule PreprocessSyscalls preprocessedHeader : header : 
architecture
                $(TARGET_PRIVATE_SYSTEM_HEADERS_$(architecture))
                [ ArchHeaders $(TARGET_ARCH_$(architecture)) ]
                [ on $(preprocessedHeader) return $(SUBDIRSYSHDRS) $(SYSHDRS) ]
+               [ FStandardHeaders $(architecture) ]
                $(TARGET_HDRS_$(architecture)) ;
 
        HDRS on $(preprocessedHeader) = $(headers) ;

############################################################################

Commit:      938bf9fad2fa70a2fd7dba661464068133bf9b73
URL:         http://cgit.haiku-os.org/haiku/commit/?id=938bf9f
Author:      Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
Date:        Thu Jul 31 16:34:37 2014 UTC

Add more missing 'local's to variable declarations.

----------------------------------------------------------------------------

diff --git a/build/jam/ConfigRules b/build/jam/ConfigRules
index 513048d..10a4c7e 100644
--- a/build/jam/ConfigRules
+++ b/build/jam/ConfigRules
@@ -128,6 +128,7 @@ rule PrepareSubDirConfigVariables
                        : __inherited_config__ ] ;
 
                on [ ConfigObject $(parentDir) : __inherited_config__ ] {
+                       local var ;
                        for var in $(AUTO_SET_UP_CONFIG_VARIABLES) {
                                $(var) on $(config) ?= $($(var)) ;
                                $(var) on $(inheritedConfig) ?= $($(var)) ;
@@ -147,6 +148,7 @@ rule PrepareConfigVariables
        local rootConfig = [ ConfigObject ] ; # the root config object
        local inheritedRootConfig = [ ConfigObject : __inherited_config__ ] ;
 
+       local var ;
        for var in $(AUTO_SET_UP_CONFIG_VARIABLES) {
                $(var) on $(rootConfig) = $($(var)) ;
                $(var) on $(inheritedRootConfig) = $($(var)) ;
diff --git a/build/jam/ImageRules b/build/jam/ImageRules
index 6f7ad8c..4580f18 100644
--- a/build/jam/ImageRules
+++ b/build/jam/ImageRules
@@ -488,6 +488,7 @@ rule AddDriversToContainer container : 
relativeDirectoryTokens : targets
 
        # get the relative symlink path prefix
        local linkPrefix = ;
+       local i ;
        for i in $(relativeDirectoryTokens) {
                linkPrefix += .. ;
        }
diff --git a/build/jam/MathRules b/build/jam/MathRules
index 5bae0c1..10f006c 100644
--- a/build/jam/MathRules
+++ b/build/jam/MathRules
@@ -584,6 +584,7 @@ rule Expr expression
 
        # tokenize the expression
        local tokens ;
+       local string ;
        for string in $(expression) {
                while $(string) {
                        local split = [ Match "[ \t]*(-|[()+*]|[0-9]*)(.*)" : 
$(string) ] ;
diff --git a/build/jam/RepositoryRules b/build/jam/RepositoryRules
index c2fba17..3647d8f 100644
--- a/build/jam/RepositoryRules
+++ b/build/jam/RepositoryRules
@@ -184,6 +184,7 @@ rule RemotePackageRepository repository : architecture : 
repositoryUrl
                        on $(packageListFile) return 
$(HAIKU_REPOSITORY_PACKAGE_FILE_NAMES)
                ] ;
                local packageFiles ;
+               local packageFile ;
                for packageFile in $(packageFileNames) {
                        MakeLocate $(packageFile) : $(HAIKU_DOWNLOAD_DIR) ;
                        packageFiles += $(packageFile) ;
diff --git a/build/jam/packages/Haiku b/build/jam/packages/Haiku
index 72f52ab..69fb613 100644
--- a/build/jam/packages/Haiku
+++ b/build/jam/packages/Haiku
@@ -6,6 +6,7 @@ HaikuPackage $(haikuPackage) ;
 
 
 # wifi firmware
+local driver ;
 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) ] ;
@@ -16,6 +17,7 @@ for driver in $(SYSTEM_ADD_ONS_DRIVERS_NET) {
        }
        local packages = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_PACKAGES) 
] ;
        local archives = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_ARCHIVES) 
] ;
+       local archive ;
        for archive in $(archives) {
                AddWifiFirmwareToPackage $(driver) : $(packages[1]) : $(archive)
                        : $(extract) ;
diff --git a/build/jam/packages/HaikuBootstrap 
b/build/jam/packages/HaikuBootstrap
index afe4f8c..bc07ea7 100644
--- a/build/jam/packages/HaikuBootstrap
+++ b/build/jam/packages/HaikuBootstrap
@@ -6,6 +6,7 @@ HaikuPackage $(haikuPackage) ;
 
 
 # wifi firmware
+local driver ;
 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) ] ;
@@ -16,6 +17,7 @@ for driver in $(SYSTEM_ADD_ONS_DRIVERS_NET) {
        }
        local packages = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_PACKAGES) 
] ;
        local archives = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_ARCHIVES) 
] ;
+       local archive ;
        for archive in $(archives) {
                AddWifiFirmwareToPackage $(driver) : $(packages[1]) : $(archive)
                        : $(extract) ;

############################################################################

Commit:      77253e671b10c976b76806eb479b0c4493967dfc
URL:         http://cgit.haiku-os.org/haiku/commit/?id=77253e6
Author:      Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
Date:        Thu Jul 31 20:01:44 2014 UTC

Switch to using crtbeginS.o and crtendS.o unconditionally.

----------------------------------------------------------------------------

diff --git a/build/jam/ArchitectureRules b/build/jam/ArchitectureRules
index 004becb..449aca4 100644
--- a/build/jam/ArchitectureRules
+++ b/build/jam/ArchitectureRules
@@ -198,18 +198,6 @@ rule ArchitectureSetup architecture
        }
 
        # library and executable glue code
-       local crtBegin ;
-       local crtEnd ;
-       # TODO: use crtbeginS.o and crtendS.o unconditionally once we have
-       #       switched to new compiler packages
-       if [ Glob $(HAIKU_GCC_LIB_DIR_$(architecture)) : crtbeginS.o ] {
-               crtBegin = <$(architecture)>crtbeginS.o ;
-               crtEnd = <$(architecture)>crtendS.o ;
-       } else {
-               crtBegin = <$(architecture)>crtbegin.o ;
-               crtEnd = <$(architecture)>crtend.o ;
-       }
-
        local commonGlueCode =
                <src!system!glue!$(architecture)>init_term_dyn.o
                <src!system!glue!arch!$(HAIKU_ARCH)!$(architecture)>crti.o
@@ -217,23 +205,24 @@ rule ArchitectureSetup architecture
                ;
        HAIKU_LIBRARY_BEGIN_GLUE_CODE_$(architecture) =
                <src!system!glue!arch!$(HAIKU_ARCH)!$(architecture)>crti.o
-               $(crtBegin)
+               <$(architecture)>crtbeginS.o
                <src!system!glue!$(architecture)>init_term_dyn.o
                ;
        HAIKU_LIBRARY_END_GLUE_CODE_$(architecture) =
-               $(crtEnd)
+               <$(architecture)>crtendS.o
                <src!system!glue!arch!$(HAIKU_ARCH)!$(architecture)>crtn.o
                ;
        HAIKU_EXECUTABLE_BEGIN_GLUE_CODE_$(architecture) =
                <src!system!glue!arch!$(HAIKU_ARCH)!$(architecture)>crti.o
-               $(crtBegin)
+               <$(architecture)>crtbeginS.o
                <src!system!glue!$(architecture)>start_dyn.o
                <src!system!glue!$(architecture)>init_term_dyn.o
                ;
        HAIKU_EXECUTABLE_END_GLUE_CODE_$(architecture)
                = $(HAIKU_LIBRARY_END_GLUE_CODE_$(architecture)) ;
 
-       SEARCH on $(crtBegin) $(crtEnd) = $(HAIKU_GCC_LIB_DIR_$(architecture)) ;
+       SEARCH on <$(architecture)>crtbeginS.o <$(architecture)>crtendS.o
+               = $(HAIKU_GCC_LIB_DIR_$(architecture)) ;
 
        # init library name map
        local libraryGrist = "" ;
@@ -475,21 +464,10 @@ rule KernelArchitectureSetup architecture
                # compiling (part of) the boot loader.
 
        # kernel add-on glue code
-       local crtBegin ;
-       local crtEnd ;
-       # TODO: use crtbeginS.o and crtendS.o unconditionally once we have
-       #       switched to new compiler packages
-       if [ Glob $(HAIKU_GCC_LIB_DIR_$(architecture)) : crtbeginS.o ] {
-               crtBegin = <$(architecture)>crtbeginS.o ;
-               crtEnd = <$(architecture)>crtendS.o ;
-       } else {
-               crtBegin = <$(architecture)>crtbegin.o ;
-               crtEnd = <$(architecture)>crtend.o ;
-       }
-       HAIKU_KERNEL_ADDON_BEGIN_GLUE_CODE = $(crtBegin)
+       HAIKU_KERNEL_ADDON_BEGIN_GLUE_CODE = <$(architecture)>crtbeginS.o
                <src!system!glue!$(architecture)>haiku_version_glue.o ;
        HAIKU_KERNEL_ADDON_END_GLUE_CODE
-               = $(HAIKU_GCC_LIBGCC_$(architecture)) $(crtEnd) ;
+               = $(HAIKU_GCC_LIBGCC_$(architecture)) 
<$(architecture)>crtendS.o ;
 }
 
 

############################################################################

Commit:      220d04022750f40f8bac8f01fa551211e28d04f2
URL:         http://cgit.haiku-os.org/haiku/commit/?id=220d040
Author:      Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
Date:        Thu Jul 31 21:38:22 2014 UTC

Use libstdc++, libsupc++ and libgcc from gcc_syslibs.

* Instead of faking libstdc++.so from libstdc++.a, use libstdc++.so
  from the gcc_syslibs build feature for everything except x86_gcc2.
* Use libgcc_s.so from the gcc_syslibs build feature for everything but
  x86_gcc2 (which still carries libgcc as part of libroot.so).
* Drop filtering of libgcc objects for libroot, as that is no longer
  necessary since we're only using libgcc-as-single-object for libroot
  with x86_gcc2, where the filtered object file doesn't exist. Should
  the objects that used to be filtered cause any problems as part of
  libgcc_s.so, we can always filter them as part of the gcc build.
* Use libsupc++.so from the gcc_syslibs build feature for everything but
  x86_gcc2.
* Adjust all Jamfiles accordingly.
* Deactivate building of faked libstdc++.so for non-x86-gcc2. For
  x86_gcc2, we still build libstdc++.so from the sources in the Haiku
  source tree as part of the Haiku build .
* Put gcc_syslibs package onto the image, when needed.

----------------------------------------------------------------------------

diff --git a/Jamfile b/Jamfile
index 4d17047..583ffd2 100644
--- a/Jamfile
+++ b/Jamfile
@@ -30,18 +30,27 @@ AddHaikuImagePackages [ FFilterByBuildFeatures
                mesa mesa_devel mesa_swrast sed sharutils tar tiff wget which
        }@
 ] ;
-# secondary architectures
-local architectureObject ;
-for architectureObject
-               in [ MultiArchSubDirSetup $(HAIKU_PACKAGING_ARCHS[2-]) ] {
-       on $(architectureObject) {
-               AddHaikuImagePackages [ FFilterByBuildFeatures
-                       curl freetype icu libsolv zlib
+if $(HAIKU_PACKAGING_ARCHS[1]) != x86_gcc2 {
+       AddHaikuImagePackages [ FFilterByBuildFeatures gcc_syslibs ] ;
+}
 
-                       regular_image @{
-                               ffmpeg glu jpeg libpng mesa
-                       }@
-               ] ;
+if $(HAIKU_PACKAGING_ARCHS[2]) {
+       # secondary architectures
+       local architectureObject ;
+       for architectureObject
+                       in [ MultiArchSubDirSetup $(HAIKU_PACKAGING_ARCHS[2-]) 
] {
+               on $(architectureObject) {
+                       AddHaikuImagePackages [ FFilterByBuildFeatures
+                               curl freetype icu libsolv zlib
+
+                               regular_image @{
+                                       ffmpeg glu jpeg libpng mesa
+                               }@
+                       ] ;
+                       if $(TARGET_PACKAGING_ARCH) != x86_gcc2 {
+                               AddHaikuImagePackages [ FFilterByBuildFeatures 
gcc_syslibs ] ;
+                       }
+               }
        }
 }
 
diff --git a/build/jam/ArchitectureRules b/build/jam/ArchitectureRules
index 449aca4..d18159b 100644
--- a/build/jam/ArchitectureRules
+++ b/build/jam/ArchitectureRules
@@ -466,8 +466,7 @@ rule KernelArchitectureSetup architecture
        # kernel add-on glue code
        HAIKU_KERNEL_ADDON_BEGIN_GLUE_CODE = <$(architecture)>crtbeginS.o
                <src!system!glue!$(architecture)>haiku_version_glue.o ;
-       HAIKU_KERNEL_ADDON_END_GLUE_CODE
-               = $(HAIKU_GCC_LIBGCC_$(architecture)) 
<$(architecture)>crtendS.o ;
+       HAIKU_KERNEL_ADDON_END_GLUE_CODE = <$(architecture)>crtendS.o ;
 }
 
 
diff --git a/build/jam/BootRules b/build/jam/BootRules
index 88e1c99..c45f268 100644
--- a/build/jam/BootRules
+++ b/build/jam/BootRules
@@ -54,9 +54,11 @@ rule BootLd
        # libsupc++ is opt-out.
        local libs ;
        if ! [ on $(1) return $(HAIKU_NO_LIBSUPC++) ] {
-               libs += $(TARGET_BOOT_LIBSUPC++) ;
+               libs += [ TargetBootLibsupc++ true ] ;
+               Depends $(1) : [ TargetBootLibsupc++ ] ;
        }
-       LINKLIBS on $(1) =  $(libs) $(TARGET_BOOT_LIBGCC) ;
+       LINKLIBS on $(1) =  $(libs) [ TargetBootLibgcc true ] ;
+       Depends $(1) : [ TargetBootLibgcc ] ;
 
        # TODO: Do we really want to invoke SetupBoot here? The objects should
        # have been compiled with BootObjects anyway, so we're doing that twice.
diff --git a/build/jam/KernelRules b/build/jam/KernelRules
index 8fa5ab3..7fc8b47 100644
--- a/build/jam/KernelRules
+++ b/build/jam/KernelRules
@@ -48,9 +48,11 @@ rule KernelLd
        # libsupc++ is opt-out.
        local libs ;
        if ! [ on $(1) return $(HAIKU_NO_LIBSUPC++) ] {
-               libs += $(TARGET_KERNEL_LIBSUPC++) ;
+               libs += [ TargetKernelLibsupc++ true ] ;
+               Depends $(1) : [ TargetKernelLibsupc++ ] ;
        }
-       LINKLIBS on $(1) =  $(libs) $(TARGET_KERNEL_LIBGCC) ;
+       LINKLIBS on $(1) =  $(libs) [ TargetKernelLibgcc true ] ;
+       Depends $(1) : [ TargetKernelLibgcc ] ;
 
        HAIKU_TARGET_IS_EXECUTABLE on $(1) = 1 ;
 
@@ -119,7 +121,8 @@ rule KernelAddon
                if $(PLATFORM) = haiku {
                        kernel = <nogrist>kernel.so ;
                        beginGlue = $(HAIKU_KERNEL_ADDON_BEGIN_GLUE_CODE) ;
-                       endGlue = $(HAIKU_KERNEL_ADDON_END_GLUE_CODE) ;
+                       endGlue
+                               = [ TargetKernelLibgcc ] 
$(HAIKU_KERNEL_ADDON_END_GLUE_CODE) ;
                } else if $(PLATFORM) = haiku_host {
                        kernel = /boot/develop/lib/x86/kernel.so ;
                        beginGlue = $(HAIKU_KERNEL_ADDON_BEGIN_GLUE_CODE) ;
diff --git a/build/jam/MainBuildRules b/build/jam/MainBuildRules
index 6ca4674..94af57a 100644
--- a/build/jam/MainBuildRules
+++ b/build/jam/MainBuildRules
@@ -8,7 +8,8 @@ rule AddSharedObjectGlueCode
        on $(1) {
                platform = $(PLATFORM) ;
                if $(platform) = haiku {
-                       local stdLibs = [ MultiArchDefaultGristFiles libroot.so 
] ;
+                       local stdLibs = [ MultiArchDefaultGristFiles libroot.so 
]
+                               [ TargetLibgcc ] ;
                        local type = EXECUTABLE ;
                        if $(2) != true {
                                type = LIBRARY ;
diff --git a/build/jam/images/definitions/minimum 
b/build/jam/images/definitions/minimum
index 42a1e8b..725332f 100644
--- a/build/jam/images/definitions/minimum
+++ b/build/jam/images/definitions/minimum
@@ -89,8 +89,7 @@ rule HaikuImageGetSystemLibs
        return
                # libs with special grist
                [ MultiArchDefaultGristFiles libroot.so : revisioned ]
-               $(HAIKU_SHARED_LIBSTDC++_$(TARGET_PACKAGING_ARCH))
-               $(HAIKU_SHARED_LIBSUPC++_$(TARGET_PACKAGING_ARCH))
+               [ Libstdc++ForImage ]
                # libs with standard grist
                [ MultiArchDefaultGristFiles [ FFilterByBuildFeatures
                        libbe.so libbsd.so libbnetapi.so
diff --git a/build/jam/images/definitions/regular 
b/build/jam/images/definitions/regular
index b5d5ef1..36afa55 100644
--- a/build/jam/images/definitions/regular
+++ b/build/jam/images/definitions/regular
@@ -62,8 +62,7 @@ rule HaikuImageGetSystemLibs
        return
                # libs with special grist
                [ MultiArchDefaultGristFiles libroot.so : revisioned ]
-               $(HAIKU_SHARED_LIBSTDC++_$(TARGET_PACKAGING_ARCH))
-               $(HAIKU_SHARED_LIBSUPC++_$(TARGET_PACKAGING_ARCH))
+               [ Libstdc++ForImage ]
                # libs with standard grist
                [ MultiArchDefaultGristFiles [ FFilterByBuildFeatures
                        libalm.so
diff --git a/build/jam/packages/HaikuCrossDevel 
b/build/jam/packages/HaikuCrossDevel
index 83eb297..b5c6c4c 100644
--- a/build/jam/packages/HaikuCrossDevel
+++ b/build/jam/packages/HaikuCrossDevel
@@ -48,8 +48,8 @@ for stage in _stage1 "" {
                [ MultiArchDefaultGristFiles libbsd.so ]
                [ MultiArchDefaultGristFiles libroot.so : revisioned ]
                [ MultiArchDefaultGristFiles libnetwork.so ]
-               $(HAIKU_SHARED_LIBSTDC++_$(architecture))
-               $(HAIKU_SHARED_LIBSUPC++_$(architecture))
+               [ TargetLibstdc++ ]
+               [ TargetLibsupc++ ]
                $(additionalLibraries$(stage))
                ;
 
diff --git a/src/add-ons/accelerants/radeon_hd/Jamfile 
b/src/add-ons/accelerants/radeon_hd/Jamfile
index efab9f9..615b8bf 100644
--- a/src/add-ons/accelerants/radeon_hd/Jamfile
+++ b/src/add-ons/accelerants/radeon_hd/Jamfile
@@ -24,5 +24,5 @@ Addon radeon_hd.accelerant :
        mode.cpp
        pll.cpp
        ringqueue.cpp
-       : be libaccelerantscommon.a $(TARGET_LIBSUPC++)
+       : be libaccelerantscommon.a [ TargetLibsupc++ ]
 ;
diff --git a/src/add-ons/decorators/BeDecorator/Jamfile 
b/src/add-ons/decorators/BeDecorator/Jamfile
index 2d74287..c992ae5 100644
--- a/src/add-ons/decorators/BeDecorator/Jamfile
+++ b/src/add-ons/decorators/BeDecorator/Jamfile
@@ -17,5 +17,5 @@ Includes [ FGristFiles BeDecorator.cpp ]
 
 Addon BeDecorator :
        BeDecorator.cpp
-       : be <nogrist>app_server $(TARGET_LIBSTDC++) $(TARGET_LIBSUPC++)
+       : be <nogrist>app_server [ TargetLibstdc++ ] [ TargetLibsupc++ ]
 ;
diff --git a/src/add-ons/decorators/MacDecorator/Jamfile 
b/src/add-ons/decorators/MacDecorator/Jamfile
index 70cb2d1..66226c5 100644
--- a/src/add-ons/decorators/MacDecorator/Jamfile
+++ b/src/add-ons/decorators/MacDecorator/Jamfile
@@ -17,5 +17,5 @@ Includes [ FGristFiles MacDecorator.cpp ]
 
 Addon MacDecorator :
        MacDecorator.cpp
-       : be <nogrist>app_server $(TARGET_LIBSTDC++) $(TARGET_LIBSUPC++)
+       : be <nogrist>app_server [ TargetLibstdc++ ] [ TargetLibsupc++ ]
 ;
diff --git a/src/add-ons/decorators/WinDecorator/Jamfile 
b/src/add-ons/decorators/WinDecorator/Jamfile
index b94f121..8b261c0 100644
--- a/src/add-ons/decorators/WinDecorator/Jamfile
+++ b/src/add-ons/decorators/WinDecorator/Jamfile
@@ -17,5 +17,5 @@ Includes [ FGristFiles WinDecorator.cpp ]
 
 Addon WinDecorator :
        WinDecorator.cpp
-       : be <nogrist>app_server $(TARGET_LIBSTDC++) $(TARGET_LIBSUPC++)
+       : be <nogrist>app_server [ TargetLibstdc++ ] [ TargetLibsupc++ ]
 ;
diff --git a/src/add-ons/disk_systems/bfs/Jamfile 
b/src/add-ons/disk_systems/bfs/Jamfile
index 9540539..4eb777b 100644
--- a/src/add-ons/disk_systems/bfs/Jamfile
+++ b/src/add-ons/disk_systems/bfs/Jamfile
@@ -13,7 +13,7 @@ Addon <disk_system>bfs :
 
        bfs_disk_system.cpp
 
-       : be localestub $(TARGET_LIBSUPC++) libshared.a
+       : be localestub [ TargetLibsupc++ ] libshared.a
 ;
 
 DoCatalogs <disk_system>bfs :
diff --git a/src/add-ons/disk_systems/gpt/Jamfile 
b/src/add-ons/disk_systems/gpt/Jamfile
index 5174bc5..48406f7 100644
--- a/src/add-ons/disk_systems/gpt/Jamfile
+++ b/src/add-ons/disk_systems/gpt/Jamfile
@@ -18,5 +18,5 @@ Addon <disk_system>gpt :
        crc32.cpp
        utility.cpp
 
-       : be $(TARGET_LIBSUPC++)
+       : be [ TargetLibsupc++ ]
 ;
diff --git a/src/add-ons/disk_systems/intel/Jamfile 
b/src/add-ons/disk_systems/intel/Jamfile
index 99a6f9d..097985a 100644
--- a/src/add-ons/disk_systems/intel/Jamfile
+++ b/src/add-ons/disk_systems/intel/Jamfile
@@ -23,7 +23,7 @@ Addon <disk_system>intel :
        # kernel sources
        PartitionMap.cpp
 
-       : be libshared.a localestub $(TARGET_LIBSUPC++)
+       : be libshared.a localestub [ TargetLibsupc++ ]
 ;
 
 DoCatalogs <disk_system>intel :
diff --git a/src/add-ons/disk_systems/ntfs/Jamfile 
b/src/add-ons/disk_systems/ntfs/Jamfile
index 9dc3ab3..c6e675a 100644
--- a/src/add-ons/disk_systems/ntfs/Jamfile
+++ b/src/add-ons/disk_systems/ntfs/Jamfile
@@ -11,7 +11,7 @@ Addon <disk_system>ntfs :
        NTFSAddOn.cpp
        InitializeParameterEditor.cpp
 
-       : be localestub $(TARGET_LIBSUPC++) libshared.a
+       : be localestub [ TargetLibsupc++ ] libshared.a
 ;
 
 DoCatalogs <disk_system>ntfs :
diff --git a/src/add-ons/index_server/audiotags/Jamfile 
b/src/add-ons/index_server/audiotags/Jamfile
index 8273c72..2eafed0 100644
--- a/src/add-ons/index_server/audiotags/Jamfile
+++ b/src/add-ons/index_server/audiotags/Jamfile
@@ -16,7 +16,7 @@ Includes [ FGristFiles $(sources) ] : 
$(HAIKU_TAGLIB_HEADERS_DEPENDENCY) ;
 Addon AudioTagAnalyser :
        $(sources)
        :
-       be $(HAIKU_TAGLIB_LIBS) $(TARGET_LIBSTDC++)
+       be $(HAIKU_TAGLIB_LIBS) [ TargetLibstdc++ ]
        ;
 
 SEARCH on [ FGristFiles IndexServerAddOn.cpp ]
diff --git a/src/add-ons/index_server/fulltext/Jamfile 
b/src/add-ons/index_server/fulltext/Jamfile
index 3de659a..e32f0fe 100644
--- a/src/add-ons/index_server/fulltext/Jamfile
+++ b/src/add-ons/index_server/fulltext/Jamfile
@@ -17,7 +17,7 @@ Includes [ FGristFiles $(sources) ] : 
$(HAIKU_CLUCENE_HEADERS_DEPENDENCY) ;
 Addon FullTextAnalyser :
        $(sources)
        :
-       be $(HAIKU_CLUCENE_LIBS) $(TARGET_LIBSTDC++)
+       be $(HAIKU_CLUCENE_LIBS) [ TargetLibstdc++ ]
 ;
 
 SEARCH on [ FGristFiles IndexServerAddOn.cpp ]
diff --git a/src/add-ons/input_server/devices/keyboard/Jamfile 
b/src/add-ons/input_server/devices/keyboard/Jamfile
index d0a21bd..0fc8cb2 100644
--- a/src/add-ons/input_server/devices/keyboard/Jamfile
+++ b/src/add-ons/input_server/devices/keyboard/Jamfile
@@ -14,7 +14,7 @@ Addon <input>keyboard :
        TeamMonitorWindow.cpp
        TeamListItem.cpp
 
-       : input_server be libshared.a localestub $(TARGET_LIBSUPC++) ;
+       : input_server be libshared.a localestub [ TargetLibsupc++ ] ;
 
 DoCatalogs <input>keyboard :
        x-vnd.Haiku-KeyboardInputServerDevice
diff --git a/src/add-ons/input_server/devices/mouse/Jamfile 
b/src/add-ons/input_server/devices/mouse/Jamfile
index a174911..b4eebae 100644
--- a/src/add-ons/input_server/devices/mouse/Jamfile
+++ b/src/add-ons/input_server/devices/mouse/Jamfile
@@ -6,4 +6,4 @@ UsePrivateHeaders input shared ;
 
 Addon <input>mouse :
        MouseInputDevice.cpp
-       : be input_server $(TARGET_LIBSUPC++) ;
+       : be input_server [ TargetLibsupc++ ] ;
diff --git a/src/add-ons/input_server/devices/tablet/Jamfile 
b/src/add-ons/input_server/devices/tablet/Jamfile
index be5cd13..4b402ef 100644
--- a/src/add-ons/input_server/devices/tablet/Jamfile
+++ b/src/add-ons/input_server/devices/tablet/Jamfile
@@ -6,4 +6,4 @@ UsePrivateHeaders input ;
 
 Addon <input>tablet :
        TabletInputDevice.cpp
-       : be input_server $(TARGET_LIBSUPC++) ;
+       : be input_server [ TargetLibsupc++ ] ;
diff --git a/src/add-ons/input_server/devices/wacom/Jamfile 
b/src/add-ons/input_server/devices/wacom/Jamfile
index ce9c39f..9004667 100644
--- a/src/add-ons/input_server/devices/wacom/Jamfile
+++ b/src/add-ons/input_server/devices/wacom/Jamfile
@@ -10,4 +10,4 @@ Addon <input>wacom :
        PointingDevice.cpp
        PointingDeviceFactory.cpp
        TabletDevice.cpp
-       : be input_server $(TARGET_LIBSUPC++) ;
+       : be input_server [ TargetLibsupc++ ] ;
diff --git a/src/add-ons/input_server/filters/screen_saver/Jamfile 
b/src/add-ons/input_server/filters/screen_saver/Jamfile
index bc31461..08a8a74 100644
--- a/src/add-ons/input_server/filters/screen_saver/Jamfile
+++ b/src/add-ons/input_server/filters/screen_saver/Jamfile
@@ -6,4 +6,4 @@ UsePrivateHeaders screen_saver ;
 
 Addon screen_saver : 
        ScreenSaverFilter.cpp 
-       : be libscreensaver.so input_server $(TARGET_LIBSUPC++) ;
+       : be libscreensaver.so input_server [ TargetLibsupc++ ] ;
diff --git a/src/add-ons/input_server/filters/shortcut_catcher/Jamfile 
b/src/add-ons/input_server/filters/shortcut_catcher/Jamfile
index 53aa742..3a213a5 100644
--- a/src/add-ons/input_server/filters/shortcut_catcher/Jamfile
+++ b/src/add-ons/input_server/filters/shortcut_catcher/Jamfile
@@ -23,4 +23,4 @@ Addon shortcut_catcher :
        CommandExecutor.cpp
        KeyCommandMap.cpp
        ShortcutsServerFilter.cpp
-       : be game input_server libshortcuts_shared.a $(TARGET_LIBSUPC++) ;
+       : be game input_server libshortcuts_shared.a [ TargetLibsupc++ ] ;
diff --git a/src/add-ons/input_server/filters/vmware_mouse/Jamfile 
b/src/add-ons/input_server/filters/vmware_mouse/Jamfile
index 3644d46..5e02ffc 100644
--- a/src/add-ons/input_server/filters/vmware_mouse/Jamfile
+++ b/src/add-ons/input_server/filters/vmware_mouse/Jamfile
@@ -2,4 +2,4 @@ SubDir HAIKU_TOP src add-ons input_server filters vmware_mouse ;
 
 SetSubDirSupportedPlatformsBeOSCompatible ;
 
-Addon vmware_mouse : VMWareMouse.cpp : be input_server $(TARGET_LIBSUPC++) ;
+Addon vmware_mouse : VMWareMouse.cpp : be input_server [ TargetLibsupc++ ] ;
diff --git a/src/add-ons/input_server/methods/canna/Jamfile 
b/src/add-ons/input_server/methods/canna/Jamfile
index 59c7050..90e4867 100644
--- a/src/add-ons/input_server/methods/canna/Jamfile
+++ b/src/add-ons/input_server/methods/canna/Jamfile
@@ -17,7 +17,7 @@ Addon canna :
        CannaMethod.cpp
        KouhoWindow.cpp
        PaletteWindow.cpp
-       : be textencoding input_server libcanna.a librk.a $(TARGET_LIBSUPC++) ;
+       : be textencoding input_server libcanna.a librk.a [ TargetLibsupc++ ] ;
 
 SubInclude HAIKU_TOP src add-ons input_server methods canna lib ;
 SubInclude HAIKU_TOP src add-ons input_server methods canna rk ;
diff --git a/src/add-ons/kernel/busses/virtio/Jamfile 
b/src/add-ons/kernel/busses/virtio/Jamfile
index f37c1e9..650b1fe 100644
--- a/src/add-ons/kernel/busses/virtio/Jamfile
+++ b/src/add-ons/kernel/busses/virtio/Jamfile
@@ -6,6 +6,4 @@ UsePrivateHeaders kernel virtio ;
 
 KernelAddon virtio_pci :
        virtio_pci.cpp
-
-       : $(TARGET_KERNEL_LIBSUPC++)
 ;
diff --git a/src/add-ons/kernel/file_systems/bindfs/Jamfile 
b/src/add-ons/kernel/file_systems/bindfs/Jamfile
index 351bf9d..99d5eef 100644
--- a/src/add-ons/kernel/file_systems/bindfs/Jamfile
+++ b/src/add-ons/kernel/file_systems/bindfs/Jamfile
@@ -16,7 +16,6 @@ HAIKU_BIND_FS_SOURCES =
 KernelAddon bindfs
        :
        $(HAIKU_BIND_FS_SOURCES)
-       : $(TARGET_KERNEL_LIBSUPC++)
 ;
 
 
diff --git 
a/src/add-ons/kernel/file_systems/netfs/authentication_server/Jamfile 
b/src/add-ons/kernel/file_systems/netfs/authentication_server/Jamfile
index 0617324..1399974 100644
--- a/src/add-ons/kernel/file_systems/netfs/authentication_server/Jamfile
+++ b/src/add-ons/kernel/file_systems/netfs/authentication_server/Jamfile
@@ -20,6 +20,6 @@ Application authentication_server
          AuthenticationPanel.cpp
          AuthenticationServer.cpp
          Panel.cpp
-       : be $(TARGET_LIBSUPC++) libshared.a
+       : be [ TargetLibsupc++ ] libshared.a
        : authentication_server.rdef
 ;
diff --git a/src/add-ons/kernel/file_systems/netfs/client/Jamfile 
b/src/add-ons/kernel/file_systems/netfs/client/Jamfile
index 7d20e9e..2d97577 100644
--- a/src/add-ons/kernel/file_systems/netfs/client/Jamfile
+++ b/src/add-ons/kernel/file_systems/netfs/client/Jamfile
@@ -88,5 +88,5 @@ Addon netfs
          VolumeManager.cpp
 
        : be libuserlandfs_beos_kernel.so
-         $(TARGET_NETWORK_LIBS) $(TARGET_LIBSUPC++) libshared.a
+         $(TARGET_NETWORK_LIBS) [ TargetLibsupc++ ] libshared.a
 ;
diff --git a/src/add-ons/kernel/file_systems/netfs/server/Jamfile 
b/src/add-ons/kernel/file_systems/netfs/server/Jamfile
index 8251f84..6c9ca6d 100644
--- a/src/add-ons/kernel/file_systems/netfs/server/Jamfile
+++ b/src/add-ons/kernel/file_systems/netfs/server/Jamfile
@@ -84,7 +84,7 @@ Application netfs_server
        Volume.cpp
        VolumeManager.cpp
        :
-       be $(TARGET_NETWORK_LIBS) $(TARGET_LIBSUPC++) libshared.a
+       be $(TARGET_NETWORK_LIBS) [ TargetLibsupc++ ] libshared.a
        :
        netfs_server.rdef
 ;
diff --git a/src/add-ons/kernel/file_systems/nfs4/idmapper/Jamfile 
b/src/add-ons/kernel/file_systems/nfs4/idmapper/Jamfile
index f9f4bb2..67d2491 100644
--- a/src/add-ons/kernel/file_systems/nfs4/idmapper/Jamfile
+++ b/src/add-ons/kernel/file_systems/nfs4/idmapper/Jamfile
@@ -6,7 +6,7 @@ Application nfs4_idmapper_server
 
        :
        be
-       $(TARGET_LIBSUPC++)
+       [ TargetLibsupc++ ]
 
        :
        nfs4_idmapper_server.rdef
diff --git a/src/add-ons/kernel/file_systems/packagefs/Jamfile 
b/src/add-ons/kernel/file_systems/packagefs/Jamfile
index 9766a8a..be1f260 100644
--- a/src/add-ons/kernel/file_systems/packagefs/Jamfile
+++ b/src/add-ons/kernel/file_systems/packagefs/Jamfile
@@ -6,7 +6,7 @@ UsePrivateKernelHeaders ;
 UsePrivateHeaders package shared storage support ;
 
 
-local subDirs = 
+local subDirs =
        indices
        nodes
        package
@@ -129,7 +129,7 @@ KernelAddon packagefs
        $(storageKitSources)
        $(supportKitSources)
 
-       : $(TARGET_KERNEL_LIBSUPC++) kernel_libz.a
+       : kernel_libz.a
 ;
 
 
diff --git a/src/add-ons/kernel/file_systems/ramfs/Jamfile 
b/src/add-ons/kernel/file_systems/ramfs/Jamfile
index 5e02b48..33bc97b 100644
--- a/src/add-ons/kernel/file_systems/ramfs/Jamfile
+++ b/src/add-ons/kernel/file_systems/ramfs/Jamfile
@@ -44,6 +44,4 @@ KernelAddon ramfs
          SizeIndex.cpp
          SymLink.cpp
          Volume.cpp
-
-       : $(TARGET_KERNEL_LIBSUPC++)
 ;
diff --git a/src/add-ons/kernel/file_systems/reiserfs/Jamfile 
b/src/add-ons/kernel/file_systems/reiserfs/Jamfile
index 90bb57e..367f00d 100644
--- a/src/add-ons/kernel/file_systems/reiserfs/Jamfile
+++ b/src/add-ons/kernel/file_systems/reiserfs/Jamfile
@@ -27,6 +27,4 @@ KernelAddon reiserfs
        Tree.cpp
        VNode.cpp
        Volume.cpp
-
-       : $(TARGET_KERNEL_LIBSUPC++)
 ;
diff --git a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Jamfile 
b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Jamfile
index c44b4b8..cffdbab 100644
--- a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Jamfile
+++ b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Jamfile
@@ -40,6 +40,4 @@ KernelAddon userlandfs
          Settings.cpp
          UserlandFS.cpp
          Volume.cpp
-
-       : $(TARGET_KERNEL_LIBSUPC++)
 ;
diff --git a/src/add-ons/kernel/file_systems/userlandfs/server/Jamfile 
b/src/add-ons/kernel/file_systems/userlandfs/server/Jamfile
index a4011d7..875756b 100644
--- a/src/add-ons/kernel/file_systems/userlandfs/server/Jamfile
+++ b/src/add-ons/kernel/file_systems/userlandfs/server/Jamfile
@@ -43,7 +43,7 @@ Application userlandfs_server
 
        :
        be
-       $(TARGET_LIBSUPC++)
+       [ TargetLibsupc++ ]
        :
        userlandfs_server.rdef
 ;
diff --git a/src/add-ons/kernel/file_systems/userlandfs/server/beos/Jamfile 
b/src/add-ons/kernel/file_systems/userlandfs/server/beos/Jamfile
index 0d01508..37868b1 100644
--- a/src/add-ons/kernel/file_systems/userlandfs/server/beos/Jamfile
+++ b/src/add-ons/kernel/file_systems/userlandfs/server/beos/Jamfile
@@ -27,5 +27,5 @@ SharedLibrary libuserlandfs_beos_kernel.so
 
        :
        <nogrist>userlandfs_server
-       $(TARGET_LIBSUPC++)
+       [ TargetLibsupc++ ]
 ;
diff --git a/src/add-ons/kernel/file_systems/userlandfs/server/fuse/Jamfile 
b/src/add-ons/kernel/file_systems/userlandfs/server/fuse/Jamfile
index ad2ea40..61badfa 100644
--- a/src/add-ons/kernel/file_systems/userlandfs/server/fuse/Jamfile
+++ b/src/add-ons/kernel/file_systems/userlandfs/server/fuse/Jamfile
@@ -29,5 +29,5 @@ SharedLibrary libuserlandfs_fuse.so
        FUSEVolume.cpp
 
        :
-       <nogrist>userlandfs_server libshared.a be $(TARGET_LIBSUPC++)
+       <nogrist>userlandfs_server libshared.a be [ TargetLibsupc++ ]
 ;
diff --git a/src/add-ons/kernel/file_systems/userlandfs/server/haiku/Jamfile 
b/src/add-ons/kernel/file_systems/userlandfs/server/haiku/Jamfile
index 52c74ea..a0fd48c 100644
--- a/src/add-ons/kernel/file_systems/userlandfs/server/haiku/Jamfile
+++ b/src/add-ons/kernel/file_systems/userlandfs/server/haiku/Jamfile
@@ -52,7 +52,7 @@ SharedLibrary libuserlandfs_haiku_kernel.so
        :
        <nogrist>userlandfs_server
        be      # for BLocker only
-       $(TARGET_LIBSUPC++)
+       [ TargetLibsupc++ ]
 ;
 
 
diff --git a/src/add-ons/locale/catalogs/plaintext/Jamfile 
b/src/add-ons/locale/catalogs/plaintext/Jamfile
index 4bee8a1..a9661dc 100644
--- a/src/add-ons/locale/catalogs/plaintext/Jamfile
+++ b/src/add-ons/locale/catalogs/plaintext/Jamfile
@@ -5,5 +5,5 @@ UsePrivateHeaders locale shared ;
 
 Addon <catalog-addon>plaintext
        : Catalog.cpp 
-       : be $(TARGET_LIBSTDC++)
+       : be [ TargetLibstdc++ ]
        ;
diff --git a/src/add-ons/locale/collators/Jamfile 
b/src/add-ons/locale/collators/Jamfile
index 0919466..b822689 100644
--- a/src/add-ons/locale/collators/Jamfile
+++ b/src/add-ons/locale/collators/Jamfile
@@ -12,11 +12,11 @@ Depends LocaleKitCollatorAddons
 
 Addon <collator-addon>GermanDIN-2
        : GermanDIN-2.cpp
-       : be $(TARGET_LIBSUPC++)
+       : be [ TargetLibsupc++ ]
        ;
 
 Addon <collator-addon>French
        : French.cpp
-       : be $(TARGET_LIBSUPC++)
+       : be [ TargetLibsupc++ ]
        ;
 
diff --git a/src/add-ons/mail_daemon/inbound_filters/match_header/Jamfile 
b/src/add-ons/mail_daemon/inbound_filters/match_header/Jamfile
index 347ee33..b4545fc 100644
--- a/src/add-ons/mail_daemon/inbound_filters/match_header/Jamfile
+++ b/src/add-ons/mail_daemon/inbound_filters/match_header/Jamfile
@@ -13,7 +13,7 @@ Addon MatchHeader
        RuleFilter.cpp
        StringMatcher.cpp
        :
-       be libmail.so $(TARGET_LIBSUPC++) localestub
+       be libmail.so [ TargetLibsupc++ ] localestub
        ;
 
 DoCatalogs MatchHeader
diff --git a/src/add-ons/mail_daemon/inbound_filters/notifier/Jamfile 
b/src/add-ons/mail_daemon/inbound_filters/notifier/Jamfile
index 68f2349..f407aca 100644
--- a/src/add-ons/mail_daemon/inbound_filters/notifier/Jamfile
+++ b/src/add-ons/mail_daemon/inbound_filters/notifier/Jamfile
@@ -11,7 +11,7 @@ Addon NewMailNotification :
        filter.cpp
        ConfigView.cpp
        :
-       be libmail.so localestub $(TARGET_LIBSUPC++)
+       be libmail.so localestub [ TargetLibsupc++ ]
        ;
 
 DoCatalogs NewMailNotification :
diff --git a/src/add-ons/mail_daemon/inbound_filters/spam_filter/Jamfile 
b/src/add-ons/mail_daemon/inbound_filters/spam_filter/Jamfile
index e471ac7..6d503f5 100644
--- a/src/add-ons/mail_daemon/inbound_filters/spam_filter/Jamfile
+++ b/src/add-ons/mail_daemon/inbound_filters/spam_filter/Jamfile
@@ -12,7 +12,7 @@ Addon SpamFilter :
        SpamFilterConfig.cpp
        SpamFilter.cpp
        :
-       be libmail.so localestub $(TARGET_LIBSUPC++)
+       be libmail.so localestub [ TargetLibsupc++ ]
        ;
 
 DoCatalogs SpamFilter
diff --git a/src/add-ons/mail_daemon/inbound_protocols/imap/Jamfile 
b/src/add-ons/mail_daemon/inbound_protocols/imap/Jamfile
index eeef130..d89f922 100644
--- a/src/add-ons/mail_daemon/inbound_protocols/imap/Jamfile
+++ b/src/add-ons/mail_daemon/inbound_protocols/imap/Jamfile
@@ -43,7 +43,7 @@ Addon IMAP
        $(sources)
        :
        be libmail.so localestub $(TARGET_NETWORK_LIBS) libalm.so
-               libshared.a $(TARGET_LIBSUPC++) $(TARGET_LIBSTDC++)
+               libshared.a [ TargetLibsupc++ ] [ TargetLibstdc++ ]
 ;
 
 SEARCH on [ FGristFiles IMAPFolders.cpp IMAPHandler.cpp IMAPMailbox.cpp
diff --git a/src/add-ons/mail_daemon/inbound_protocols/pop3/Jamfile 
b/src/add-ons/mail_daemon/inbound_protocols/pop3/Jamfile
index 130a4b7..710b85f 100644
--- a/src/add-ons/mail_daemon/inbound_protocols/pop3/Jamfile
+++ b/src/add-ons/mail_daemon/inbound_protocols/pop3/Jamfile
@@ -34,7 +34,7 @@ AddResources POP3 : POP3.rdef ;
 Addon POP3
        : $(sources)
        : be libbnetapi.so libmail.so localestub
-               [ BuildFeatureAttribute openssl : libraries ] 
$(TARGET_LIBSUPC++)
+               [ BuildFeatureAttribute openssl : libraries ] [ TargetLibsupc++ 
]
                $(TARGET_NETWORK_LIBS)
 ;
 
diff --git a/src/add-ons/mail_daemon/outbound_filters/fortune/Jamfile 
b/src/add-ons/mail_daemon/outbound_filters/fortune/Jamfile
index c672ec2..d80d0b5 100644
--- a/src/add-ons/mail_daemon/outbound_filters/fortune/Jamfile
+++ b/src/add-ons/mail_daemon/outbound_filters/fortune/Jamfile
@@ -12,7 +12,7 @@ Addon Fortune :
        ConfigView.cpp
        filter.cpp
        :
-       be libmail.so localestub $(TARGET_LIBSUPC++)
+       be libmail.so localestub [ TargetLibsupc++ ]
 ;
 
 DoCatalogs Fortune :
diff --git a/src/add-ons/mail_daemon/outbound_protocols/smtp/Jamfile 
b/src/add-ons/mail_daemon/outbound_protocols/smtp/Jamfile
index a1b9c26..361c077 100644
--- a/src/add-ons/mail_daemon/outbound_protocols/smtp/Jamfile
+++ b/src/add-ons/mail_daemon/outbound_protocols/smtp/Jamfile
@@ -29,7 +29,7 @@ AddResources SMTP : SMTP.rdef ;
 
 Addon SMTP
        : $(sources)
-       : be libmail.so $(TARGET_NETWORK_LIBS) $(TARGET_LIBSTDC++)
+       : be libmail.so $(TARGET_NETWORK_LIBS) [ TargetLibstdc++ ]
                localestub [ BuildFeatureAttribute openssl : libraries ]
 ;
 
diff --git a/src/add-ons/media/media-add-ons/dvb/Jamfile 
b/src/add-ons/media/media-add-ons/dvb/Jamfile
index 0ff7b39..9986b45 100644
--- a/src/add-ons/media/media-add-ons/dvb/Jamfile
+++ b/src/add-ons/media/media-add-ons/dvb/Jamfile
@@ -19,7 +19,7 @@ Addon dvb.media_addon :
        PacketQueue.cpp
        pes.cpp
        TransportStreamDemux.cpp
-       : be media $(TARGET_LIBSUPC++)
+       : be media [ TargetLibsupc++ ]
 ;
 
 Includes [ FGristFiles MediaFormat.cpp ]
diff --git a/src/add-ons/media/media-add-ons/equalizer/Jamfile 
b/src/add-ons/media/media-add-ons/equalizer/Jamfile
index b39a054..77e402f 100644
--- a/src/add-ons/media/media-add-ons/equalizer/Jamfile
+++ b/src/add-ons/media/media-add-ons/equalizer/Jamfile
@@ -6,5 +6,5 @@ Addon equalizer.media_addon :
        Equalizer.cpp
        EqualizerAddOn.cpp
        EqualizerNode.cpp
-       : be media $(TARGET_LIBSTDC++)
+       : be media [ TargetLibstdc++ ]
 ;
diff --git a/src/add-ons/media/media-add-ons/esound_sink/Jamfile 
b/src/add-ons/media/media-add-ons/esound_sink/Jamfile
index 6e45d95..460f075 100644
--- a/src/add-ons/media/media-add-ons/esound_sink/Jamfile
+++ b/src/add-ons/media/media-add-ons/esound_sink/Jamfile
@@ -10,6 +10,6 @@ Addon esound_sink.media_addon :
        ESDEndpoint.cpp
        ESDSinkAddOn.cpp
        ESDSinkNode.cpp
-       : be media network $(TARGET_LIBSUPC++)
+       : be media network [ TargetLibsupc++ ]
 ;
 
diff --git a/src/add-ons/media/media-add-ons/firewire_dv/Jamfile 
b/src/add-ons/media/media-add-ons/firewire_dv/Jamfile
index 7e47297..7c539b7 100644
--- a/src/add-ons/media/media-add-ons/firewire_dv/Jamfile
+++ b/src/add-ons/media/media-add-ons/firewire_dv/Jamfile
@@ -10,5 +10,5 @@ Addon firewire_dv.media_addon :
        FireWireCard.cpp
        FireWireDVAddOn.cpp
        FireWireDVNode.cpp
-       : be media $(TARGET_LIBSUPC++)
+       : be media [ TargetLibsupc++ ]
 ;
diff --git a/src/add-ons/media/media-add-ons/legacy/Jamfile 
b/src/add-ons/media/media-add-ons/legacy/Jamfile
index 70e0134..695cf5e 100644
--- a/src/add-ons/media/media-add-ons/legacy/Jamfile
+++ b/src/add-ons/media/media-add-ons/legacy/Jamfile
@@ -7,5 +7,5 @@ Addon legacy.media_addon :
        LegacyAudioDevice.cpp
        LegacyAudioProducer.cpp
        LegacyMediaAddOn.cpp
-       : be media $(TARGET_LIBSUPC++)
+       : be media [ TargetLibsupc++ ]
 ;
diff --git a/src/add-ons/media/media-add-ons/mixer/Jamfile 
b/src/add-ons/media/media-add-ons/mixer/Jamfile
index dee9631..93bf949 100644
--- a/src/add-ons/media/media-add-ons/mixer/Jamfile
+++ b/src/add-ons/media/media-add-ons/mixer/Jamfile
@@ -15,7 +15,7 @@ Addon mixer.media_addon :
        MixerSettings.cpp
        MixerUtils.cpp
        Resampler.cpp
-       : be media $(TARGET_LIBSUPC++) localestub
+       : be media [ TargetLibsupc++ ] localestub
 ;
 
 DoCatalogs mixer.media_addon
diff --git a/src/add-ons/media/media-add-ons/multi_audio/Jamfile 
b/src/add-ons/media/media-add-ons/multi_audio/Jamfile
index a04fa16..7ad040e 100644
--- a/src/add-ons/media/media-add-ons/multi_audio/Jamfile
+++ b/src/add-ons/media/media-add-ons/multi_audio/Jamfile
@@ -17,7 +17,7 @@ Addon hmulti_audio.media_addon :
        MultiAudioUtility.cpp
        Resampler.cpp
        TimeComputer.cpp
-       : be media $(TARGET_LIBSUPC++) localestub
+       : be media [ TargetLibsupc++ ] localestub
 ;
 
 DoCatalogs hmulti_audio.media_addon
diff --git a/src/add-ons/media/media-add-ons/opensound/Jamfile 
b/src/add-ons/media/media-add-ons/opensound/Jamfile
index c813623..9f522b3 100644
--- a/src/add-ons/media/media-add-ons/opensound/Jamfile
+++ b/src/add-ons/media/media-add-ons/opensound/Jamfile
@@ -14,5 +14,5 @@ Addon opensound.media_addon :
        OpenSoundDeviceEngine.cpp
        OpenSoundDeviceMixer.cpp
        OpenSoundNode.cpp
-       : be media $(TARGET_LIBSUPC++)
+       : be media [ TargetLibsupc++ ]
 ;
diff --git a/src/add-ons/media/media-add-ons/reader/Jamfile 
b/src/add-ons/media/media-add-ons/reader/Jamfile
index 3b9135d..1353d52 100644
--- a/src/add-ons/media/media-add-ons/reader/Jamfile
+++ b/src/add-ons/media/media-add-ons/reader/Jamfile
@@ -10,5 +10,5 @@ Application reader.media_addon :
        MediaReader.cpp
        MediaReaderAddOn.cpp
        misc.cpp
-       : be media $(TARGET_LIBSUPC++)
+       : be media [ TargetLibsupc++ ]
 ;
diff --git a/src/add-ons/media/media-add-ons/tone_producer_demo/Jamfile 
b/src/add-ons/media/media-add-ons/tone_producer_demo/Jamfile
index d181b11..06f0af7 100644
--- a/src/add-ons/media/media-add-ons/tone_producer_demo/Jamfile
+++ b/src/add-ons/media/media-add-ons/tone_producer_demo/Jamfile
@@ -3,5 +3,5 @@ SubDir HAIKU_TOP src add-ons media media-add-ons 
tone_producer_demo ;
 Addon tone_producer_demo.media_addon :
        ToneProducerAddOn.cpp
        ToneProducer.cpp
-       : be media $(TARGET_LIBSUPC++)
+       : be media [ TargetLibsupc++ ]
 ;
diff --git a/src/add-ons/media/media-add-ons/usb_vision/Jamfile 
b/src/add-ons/media/media-add-ons/usb_vision/Jamfile
index e5d2648..7266cfc 100644
--- a/src/add-ons/media/media-add-ons/usb_vision/Jamfile
+++ b/src/add-ons/media/media-add-ons/usb_vision/Jamfile
@@ -8,5 +8,5 @@ Addon usb_vision.media_addon :
        AddOn.cpp
        Producer.cpp
        TunerLocale.cpp
-       : be media $(TARGET_LIBSTDC++)
+       : be media [ TargetLibstdc++ ]
 ;
diff --git a/src/add-ons/media/media-add-ons/usb_webcam/Jamfile 
b/src/add-ons/media/media-add-ons/usb_webcam/Jamfile
index c8f5e3f..bcf04ff 100644
--- a/src/add-ons/media/media-add-ons/usb_webcam/Jamfile
+++ b/src/add-ons/media/media-add-ons/usb_webcam/Jamfile
@@ -95,7 +95,7 @@ Addon usb_webcam.media_addon :
        CamRoster.cpp
        CamSensor.cpp
        CamStreamingDeframer.cpp
-       : be media $(usbKitLibraryName) $(TARGET_LIBSUPC++)
+       : be media $(usbKitLibraryName) [ TargetLibsupc++ ]
 ;
 
 # force dependancies
diff --git a/src/add-ons/media/media-add-ons/video_producer_demo/Jamfile 
b/src/add-ons/media/media-add-ons/video_producer_demo/Jamfile
index 8dcd49b..a9da1b2 100644
--- a/src/add-ons/media/media-add-ons/video_producer_demo/Jamfile
+++ b/src/add-ons/media/media-add-ons/video_producer_demo/Jamfile
@@ -3,5 +3,5 @@ SubDir HAIKU_TOP src add-ons media media-add-ons 
video_producer_demo ;
 Addon video_producer_demo.media_addon :
        AddOn.cpp
        Producer.cpp
-       : be media $(TARGET_LIBSUPC++)
+       : be media [ TargetLibsupc++ ]
 ;
diff --git a/src/add-ons/media/media-add-ons/videowindow/Jamfile 
b/src/add-ons/media/media-add-ons/videowindow/Jamfile
index b86ac00..16303fe 100644
--- a/src/add-ons/media/media-add-ons/videowindow/Jamfile
+++ b/src/add-ons/media/media-add-ons/videowindow/Jamfile
@@ -5,5 +5,5 @@ Addon video_window_demo.media_addon :
     VideoNode.cpp
     VideoView.cpp
     VideoWindow.cpp
-       : be media $(TARGET_LIBSUPC++)
+       : be media [ TargetLibsupc++ ]
 ;
diff --git a/src/add-ons/media/media-add-ons/vst_host/Jamfile 
b/src/add-ons/media/media-add-ons/vst_host/Jamfile
index 803ea06..e852a39 100644
--- a/src/add-ons/media/media-add-ons/vst_host/Jamfile
+++ b/src/add-ons/media/media-add-ons/vst_host/Jamfile
@@ -6,5 +6,5 @@ Addon vst_host.media_addon :
        VSTHost.cpp
        VSTAddOn.cpp
        VSTNode.cpp
-       : be media $(TARGET_LIBSTDC++)
+       : be media [ TargetLibstdc++ ]
 ;
diff --git a/src/add-ons/media/plugins/ac3_decoder/Jamfile 
b/src/add-ons/media/plugins/ac3_decoder/Jamfile
index 989c32e..3177573 100644
--- a/src/add-ons/media/plugins/ac3_decoder/Jamfile
+++ b/src/add-ons/media/plugins/ac3_decoder/Jamfile
@@ -4,7 +4,7 @@ UsePrivateHeaders media ;
 
 Addon ac3_decoder :
        ac3_decoder.cpp
-       : liba52.a be libmedia.so $(TARGET_LIBSUPC++)
+       : liba52.a be libmedia.so [ TargetLibsupc++ ]
 ;
 
 SubIncludeGPL HAIKU_TOP src add-ons media plugins ac3_decoder liba52 ;
diff --git a/src/add-ons/media/plugins/aiff_reader/Jamfile 
b/src/add-ons/media/plugins/aiff_reader/Jamfile
index 55139da..ac17752 100644
--- a/src/add-ons/media/plugins/aiff_reader/Jamfile
+++ b/src/add-ons/media/plugins/aiff_reader/Jamfile
@@ -6,4 +6,4 @@ UsePrivateHeaders media ;
 
 Addon aiff_reader :
        aiff_reader.cpp
-       : be libmedia.so $(TARGET_LIBSUPC++) ;
+       : be libmedia.so [ TargetLibsupc++ ] ;
diff --git a/src/add-ons/media/plugins/ape_reader/Jamfile 
b/src/add-ons/media/plugins/ape_reader/Jamfile
index 0f70572..0f9c9bb 100644
--- a/src/add-ons/media/plugins/ape_reader/Jamfile
+++ b/src/add-ons/media/plugins/ape_reader/Jamfile
@@ -9,7 +9,7 @@ SubDirHdrs [ FDirName $(SUBDIR) MAClib ] ;
 
 Addon ape_reader :
        APEReader.cpp
-       : libMonkeysAudio.a MAClib.a be libmedia.so $(TARGET_LIBSUPC++)
+       : libMonkeysAudio.a MAClib.a be libmedia.so [ TargetLibsupc++ ]
 ;
 
 SubInclude HAIKU_TOP src add-ons media plugins ape_reader LibMonkeysAudio ;
diff --git a/src/add-ons/media/plugins/asf_reader/Jamfile 
b/src/add-ons/media/plugins/asf_reader/Jamfile
index 2b19a73..a73e83f 100644
--- a/src/add-ons/media/plugins/asf_reader/Jamfile
+++ b/src/add-ons/media/plugins/asf_reader/Jamfile
@@ -12,7 +12,7 @@ Addon asf_reader :
        ASFIndex.cpp
        :
        libasfreader.a
-       be libmedia.so $(TARGET_LIBSTDC++)
+       be libmedia.so [ TargetLibstdc++ ]
 ;
 
 SubInclude HAIKU_TOP src add-ons media plugins asf_reader libasf ;
diff --git a/src/add-ons/media/plugins/au_reader/Jamfile 
b/src/add-ons/media/plugins/au_reader/Jamfile
index a5404f0..a0c0971 100644
--- a/src/add-ons/media/plugins/au_reader/Jamfile
+++ b/src/add-ons/media/plugins/au_reader/Jamfile
@@ -6,5 +6,5 @@ UsePrivateHeaders media ;
 
 Addon au_reader :
        au_reader.cpp
-       : be libmedia.so $(TARGET_LIBSUPC++)
+       : be libmedia.so [ TargetLibsupc++ ]
 ;
diff --git a/src/add-ons/media/plugins/avi_reader/Jamfile 
b/src/add-ons/media/plugins/avi_reader/Jamfile
index a84971e..e376043 100644
--- a/src/add-ons/media/plugins/avi_reader/Jamfile
+++ b/src/add-ons/media/plugins/avi_reader/Jamfile
@@ -10,7 +10,7 @@ Addon avi_reader :
        avi_reader.cpp
        :
        libopendml.a
-       be libmedia.so $(TARGET_LIBSTDC++)
+       be libmedia.so [ TargetLibstdc++ ]
 ;
 
 SubInclude HAIKU_TOP src add-ons media plugins avi_reader libOpenDML ;
diff --git a/src/add-ons/media/plugins/ffmpeg/Jamfile 
b/src/add-ons/media/plugins/ffmpeg/Jamfile
index c328056..c3efdd0 100644
--- a/src/add-ons/media/plugins/ffmpeg/Jamfile
+++ b/src/add-ons/media/plugins/ffmpeg/Jamfile
@@ -57,7 +57,7 @@ for architectureObject in [ MultiArchSubDirSetup ] {
 
                        be
                        media
-                       $(TARGET_LIBSUPC++)
+                       [ TargetLibsupc++ ]
                ;
        }
 }
diff --git a/src/add-ons/media/plugins/matroska/Jamfile 
b/src/add-ons/media/plugins/matroska/Jamfile
index ed2cb69..68bee23 100644
--- a/src/add-ons/media/plugins/matroska/Jamfile
+++ b/src/add-ons/media/plugins/matroska/Jamfile
@@ -17,7 +17,7 @@ Addon matroska :
 #      libmatroska.a
        libMatroskaParser.a
        [ BuildFeatureAttribute zlib : library ]
-       libmedia.so be $(TARGET_LIBSTDC++)
+       libmedia.so be [ TargetLibstdc++ ]
 ;
 
 # SubInclude HAIKU_TOP src add-ons media plugins matroska libebml ;
diff --git a/src/add-ons/media/plugins/mov_reader/Jamfile 
b/src/add-ons/media/plugins/mov_reader/Jamfile
index 16db530..7566d44 100644
--- a/src/add-ons/media/plugins/mov_reader/Jamfile
+++ b/src/add-ons/media/plugins/mov_reader/Jamfile
@@ -11,7 +11,7 @@ Addon mov_reader :
        :
        libmovreader.a
        [ BuildFeatureAttribute zlib : library ]
-       be libmedia.so $(TARGET_LIBSTDC++)
+       be libmedia.so [ TargetLibstdc++ ]
 ;
 
 SubInclude HAIKU_TOP src add-ons media plugins mov_reader libMOV ;
diff --git a/src/add-ons/media/plugins/mp4_reader/Jamfile 
b/src/add-ons/media/plugins/mp4_reader/Jamfile
index e1af968..99915e6 100644
--- a/src/add-ons/media/plugins/mp4_reader/Jamfile
+++ b/src/add-ons/media/plugins/mp4_reader/Jamfile
@@ -11,7 +11,7 @@ Addon mp4_reader :
        :
        libmp4reader.a
        [ BuildFeatureAttribute zlib : library ]
-       be libmedia.so $(TARGET_LIBSTDC++)
+       be libmedia.so [ TargetLibstdc++ ]
 ;
 
 SubInclude HAIKU_TOP src add-ons media plugins mp4_reader libMP4 ;
diff --git a/src/add-ons/media/plugins/musepack/Jamfile 
b/src/add-ons/media/plugins/musepack/Jamfile
index e5e0bc6..058c359 100644
--- a/src/add-ons/media/plugins/musepack/Jamfile
+++ b/src/add-ons/media/plugins/musepack/Jamfile
@@ -10,7 +10,7 @@ Addon musepack :
        MusePack.cpp
        MusePackReader.cpp
        MusePackDecoder.cpp
-       : libmusepack.a be libmedia.so $(TARGET_LIBSUPC++)
+       : libmusepack.a be libmedia.so [ TargetLibsupc++ ]
 ;
 
 SubInclude HAIKU_TOP src add-ons media plugins musepack mpc ;
diff --git a/src/add-ons/media/plugins/raw_decoder/Jamfile 
b/src/add-ons/media/plugins/raw_decoder/Jamfile
index 687e790..c67c61c 100644
--- a/src/add-ons/media/plugins/raw_decoder/Jamfile
+++ b/src/add-ons/media/plugins/raw_decoder/Jamfile
@@ -10,7 +10,7 @@ for architectureObject in [ MultiArchSubDirSetup ] {
                Addon [ MultiArchDefaultGristFiles raw_decoder ] :
                        AudioConversion.cpp
                        RawDecoderPlugin.cpp
-                       : be media $(TARGET_LIBSUPC++)
+                       : be media [ TargetLibsupc++ ]
                ;
        }
 }
diff --git a/src/add-ons/media/plugins/wav_reader/Jamfile 
b/src/add-ons/media/plugins/wav_reader/Jamfile
index f56f20e..66c2594 100644
--- a/src/add-ons/media/plugins/wav_reader/Jamfile
+++ b/src/add-ons/media/plugins/wav_reader/Jamfile
@@ -6,5 +6,5 @@ UsePrivateHeaders media ;
 
 Addon wav_reader :
        WavReaderPlugin.cpp
-       : be libmedia.so $(TARGET_LIBSUPC++)
+       : be libmedia.so [ TargetLibsupc++ ]
 ;
diff --git a/src/add-ons/print/drivers/canon_lips/lips3/Jamfile 
b/src/add-ons/print/drivers/canon_lips/lips3/Jamfile
index 6d20567..20e3380 100644
--- a/src/add-ons/print/drivers/canon_lips/lips3/Jamfile
+++ b/src/add-ons/print/drivers/canon_lips/lips3/Jamfile
@@ -11,5 +11,5 @@ Addon Canon\ LIPS3\ Compatible :
        Lips3.cpp
        Lips3Cap.cpp
        Compress3.cpp
-       : be libprint.a $(TARGET_LIBSTDC++)
+       : be libprint.a [ TargetLibstdc++ ]
 ;
diff --git a/src/add-ons/print/drivers/canon_lips/lips4/Jamfile 
b/src/add-ons/print/drivers/canon_lips/lips4/Jamfile
index 0951bae..2a5c282 100644
--- a/src/add-ons/print/drivers/canon_lips/lips4/Jamfile
+++ b/src/add-ons/print/drivers/canon_lips/lips4/Jamfile
@@ -10,5 +10,5 @@ Addon Canon\ LIPS4\ Compatible :
        Lips4Entry.cpp
        Lips4.cpp
        Lips4Cap.cpp
-       : be libprint.a $(TARGET_LIBSTDC++)
+       : be libprint.a [ TargetLibstdc++ ]
 ;
diff --git a/src/add-ons/print/drivers/gutenprint/Jamfile 
b/src/add-ons/print/drivers/gutenprint/Jamfile
index 6133abb..101e5ea 100644
--- a/src/add-ons/print/drivers/gutenprint/Jamfile
+++ b/src/add-ons/print/drivers/gutenprint/Jamfile
@@ -27,5 +27,5 @@ Addon Gutenprint :
        be 
        [ BuildFeatureAttribute gutenprint : library ]
        libprint.a 
-       $(TARGET_LIBSTDC++)
+       [ TargetLibstdc++ ]
 ;
diff --git a/src/add-ons/print/drivers/pcl5/Jamfile 
b/src/add-ons/print/drivers/pcl5/Jamfile
index ca1b856..67809d2 100644
--- a/src/add-ons/print/drivers/pcl5/Jamfile
+++ b/src/add-ons/print/drivers/pcl5/Jamfile
@@ -10,5 +10,5 @@ Addon PCL5\ Compatible :
        PCL5Entry.cpp
        PCL5.cpp
        PCL5Cap.cpp
-       : be libprint.a $(TARGET_LIBSTDC++)
+       : be libprint.a [ TargetLibstdc++ ]
 ;
diff --git a/src/add-ons/print/drivers/pcl6/Jamfile 
b/src/add-ons/print/drivers/pcl6/Jamfile
index 2a74195..d1c6349 100644
--- a/src/add-ons/print/drivers/pcl6/Jamfile
+++ b/src/add-ons/print/drivers/pcl6/Jamfile
@@ -14,5 +14,5 @@ Addon PCL6\ Compatible :
        PCL6Rasterizer.cpp
        PCL6Writer.cpp
        Rasterizer.cpp
-       : be libprint.a $(TARGET_LIBSTDC++)
+       : be libprint.a [ TargetLibstdc++ ]
 ;
diff --git a/src/add-ons/print/drivers/pdf/source/Jamfile 
b/src/add-ons/print/drivers/pdf/source/Jamfile
index 635a9d7..1478a1b 100644
--- a/src/add-ons/print/drivers/pdf/source/Jamfile
+++ b/src/add-ons/print/drivers/pdf/source/Jamfile
@@ -48,5 +48,5 @@ Addon PDF\ Writer :
        libpdf.a
        libprint.a 
        libprintutils.a 
-       $(TARGET_LIBSUPC++)
+       [ TargetLibsupc++ ]
 ;
diff --git a/src/add-ons/print/drivers/postscript/Jamfile 
b/src/add-ons/print/drivers/postscript/Jamfile
index 5f8e07c..14ea811 100644
--- a/src/add-ons/print/drivers/postscript/Jamfile
+++ b/src/add-ons/print/drivers/postscript/Jamfile
@@ -14,5 +14,5 @@ Addon PS\ Compatible :
        SelectPPDDlg.cpp
        PPDParser.cpp
        FilterIO.cpp
-       : be libprint.a $(TARGET_LIBSTDC++)
+       : be libprint.a [ TargetLibstdc++ ]
 ;
diff --git a/src/add-ons/print/drivers/preview/Jamfile 
b/src/add-ons/print/drivers/preview/Jamfile
index 908b21d..2212c04 100644
--- a/src/add-ons/print/drivers/preview/Jamfile
+++ b/src/add-ons/print/drivers/preview/Jamfile
@@ -12,5 +12,5 @@ Addon Preview :
        Driver.cpp
        PrinterDriver.cpp
        PreviewDriver.cpp
-       : be libprint.a $(TARGET_LIBSTDC++)
+       : be libprint.a [ TargetLibstdc++ ]
 ;
diff --git a/src/add-ons/print/transports/hp_jetdirect/Jamfile 
b/src/add-ons/print/transports/hp_jetdirect/Jamfile
index ba312b1..796b1b9 100644
--- a/src/add-ons/print/transports/hp_jetdirect/Jamfile
+++ b/src/add-ons/print/transports/hp_jetdirect/Jamfile
@@ -8,5 +8,5 @@ Addon HP\ JetDirect :
        print_transport.cpp
        HPJetDirectTransport.cpp
        SetupWindow.cpp
-       : be $(TARGET_NETWORK_LIBS) $(TARGET_NETAPI_LIB) $(TARGET_LIBSUPC++)
+       : be $(TARGET_NETWORK_LIBS) $(TARGET_NETAPI_LIB) [ TargetLibsupc++ ]
 ;
diff --git a/src/add-ons/print/transports/ipp/Jamfile 
b/src/add-ons/print/transports/ipp/Jamfile
index 435000e..a9013ea 100644
--- a/src/add-ons/print/transports/ipp/Jamfile
+++ b/src/add-ons/print/transports/ipp/Jamfile
@@ -17,7 +17,7 @@ Addon IPP :
        Socket.o
        SocketStream.o
        DbgMsg.o
-       : libshared.a be $(TARGET_NETAPI_LIB) $(TARGET_NETWORK_LIBS) 
$(TARGET_LIBSTDC++)
+       : libshared.a be $(TARGET_NETAPI_LIB) $(TARGET_NETWORK_LIBS) [ 
TargetLibstdc++ ]
 ;
 
 ObjectReferences
diff --git a/src/add-ons/print/transports/lpr/Jamfile 
b/src/add-ons/print/transports/lpr/Jamfile
index dcea7ca..02dd898 100644
--- a/src/add-ons/print/transports/lpr/Jamfile
+++ b/src/add-ons/print/transports/lpr/Jamfile
@@ -18,7 +18,7 @@ Addon LPR :
        be 
        libprint.a
        $(TARGET_NETWORK_LIBS) 
-       $(TARGET_LIBSTDC++)
+       [ TargetLibstdc++ ]
 ;
 
 ObjectReferences
diff --git a/src/add-ons/print/transports/parallel_port/Jamfile 
b/src/add-ons/print/transports/parallel_port/Jamfile
index 6834d92..8605041 100644
--- a/src/add-ons/print/transports/parallel_port/Jamfile
+++ b/src/add-ons/print/transports/parallel_port/Jamfile
@@ -9,5 +9,5 @@ SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits print ] ;
 Addon Parallel\ Port :
        ParallelTransport.cpp
        PrintTransportAddOn.cpp
-       : be $(TARGET_LIBSUPC++)
+       : be [ TargetLibsupc++ ]
 ;
diff --git a/src/add-ons/print/transports/print_to_file/Jamfile 
b/src/add-ons/print/transports/print_to_file/Jamfile
index 22f6195..a1e4d40 100644
--- a/src/add-ons/print/transports/print_to_file/Jamfile
+++ b/src/add-ons/print/transports/print_to_file/Jamfile
@@ -8,5 +8,5 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
 Addon Print\ To\ File : 
        print_transport.cpp
        FileSelector.cpp
-       : be tracker $(TARGET_LIBSUPC++)
+       : be tracker [ TargetLibsupc++ ]
 ;
diff --git a/src/add-ons/print/transports/serial_port/Jamfile 
b/src/add-ons/print/transports/serial_port/Jamfile
index 287763f..cddfe3f 100644
--- a/src/add-ons/print/transports/serial_port/Jamfile
+++ b/src/add-ons/print/transports/serial_port/Jamfile
@@ -9,5 +9,5 @@ SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits print ] ;
 Addon Serial\ Port :
        SerialTransport.cpp
        PrintTransportAddOn.cpp
-       : be $(TARGET_LIBSUPC++)
+       : be [ TargetLibsupc++ ]
 ;
diff --git a/src/add-ons/print/transports/usb_port/Jamfile 
b/src/add-ons/print/transports/usb_port/Jamfile
index 6784573..30008f6 100644
--- a/src/add-ons/print/transports/usb_port/Jamfile
+++ b/src/add-ons/print/transports/usb_port/Jamfile
@@ -9,5 +9,5 @@ SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits print ] ;
 Addon USB\ Port :
        USBTransport.cpp
        PrintTransportAddOn.cpp
-       : libshared.a libdevice.so be $(TARGET_LIBSUPC++)
+       : libshared.a libdevice.so be [ TargetLibsupc++ ]
 ;
diff --git a/src/add-ons/screen_savers/butterfly/Jamfile 
b/src/add-ons/screen_savers/butterfly/Jamfile
index ef1ea4d..260f362 100644
--- a/src/add-ons/screen_savers/butterfly/Jamfile
+++ b/src/add-ons/screen_savers/butterfly/Jamfile
@@ -7,7 +7,7 @@ AddResources Butterfly : Butterfly.rdef ;
 
 ScreenSaver Butterfly :
        Butterfly.cpp
-       : be screensaver localestub $(TARGET_LIBSUPC++)
+       : be screensaver localestub [ TargetLibsupc++ ]
 ;
 
 DoCatalogs Butterfly :
diff --git a/src/add-ons/screen_savers/debugnow/Jamfile 
b/src/add-ons/screen_savers/debugnow/Jamfile
index 0ed9f51..2df4d61 100644
--- a/src/add-ons/screen_savers/debugnow/Jamfile
+++ b/src/add-ons/screen_savers/debugnow/Jamfile
@@ -9,7 +9,7 @@ AddResources DebugNow : DebugNow.rdef ;
 
 ScreenSaver DebugNow :
        DebugNow.cpp : 
-       be libscreensaver.so localestub $(TARGET_LIBSUPC++)
+       be libscreensaver.so localestub [ TargetLibsupc++ ]
 ;
 
 DoCatalogs DebugNow :
diff --git a/src/add-ons/screen_savers/flurry/Jamfile 
b/src/add-ons/screen_savers/flurry/Jamfile
index d491c5f..3845668 100644
--- a/src/add-ons/screen_savers/flurry/Jamfile
+++ b/src/add-ons/screen_savers/flurry/Jamfile
@@ -21,7 +21,7 @@ Includes [ FGristFiles $(sources) ] :
 
 ScreenSaver Flurry :
        $(sources) :
-       be screensaver localestub $(TARGET_LIBSUPC++)
+       be screensaver localestub [ TargetLibsupc++ ]
        [ BuildFeatureAttribute glu : library ]
        [ BuildFeatureAttribute mesa : library ]
 ;
diff --git a/src/add-ons/screen_savers/glife/Jamfile 
b/src/add-ons/screen_savers/glife/Jamfile
index 06cfdf1..fe5e5e3 100644
--- a/src/add-ons/screen_savers/glife/Jamfile
+++ b/src/add-ons/screen_savers/glife/Jamfile
@@ -25,7 +25,7 @@ AddResources GLife : GLife.rdef ;
 
 ScreenSaver GLife :
        $(sources) : 
-       be screensaver localestub $(TARGET_LIBSUPC++)
+       be screensaver localestub [ TargetLibsupc++ ]
        [ BuildFeatureAttribute glu : library ]
        [ BuildFeatureAttribute mesa : library ]
 ;
diff --git a/src/add-ons/screen_savers/gravity/Jamfile 
b/src/add-ons/screen_savers/gravity/Jamfile
index 14de4b9..091425e 100644
--- a/src/add-ons/screen_savers/gravity/Jamfile
+++ b/src/add-ons/screen_savers/gravity/Jamfile
@@ -28,7 +28,7 @@ Includes [ FGristFiles $(sources) ] :
 ScreenSaver Gravity :
        $(sources)
        :
-       be screensaver localestub $(TARGET_LIBSTDC++)
+       be screensaver localestub [ TargetLibstdc++ ]
        [ BuildFeatureAttribute glu : library ]
        [ BuildFeatureAttribute mesa : library ]
 ;
diff --git a/src/add-ons/screen_savers/haiku/Jamfile 
b/src/add-ons/screen_savers/haiku/Jamfile
index 3ee172e..71c680e 100644
--- a/src/add-ons/screen_savers/haiku/Jamfile
+++ b/src/add-ons/screen_savers/haiku/Jamfile
@@ -9,7 +9,7 @@ AddResources Haiku : ScreenSaver.rdef ;
 
 Addon Haiku :
        ScreenSaver.cpp
-       : be screensaver localestub $(TARGET_LIBSUPC++)
+       : be screensaver localestub [ TargetLibsupc++ ]
 ;
 
 DoCatalogs Haiku :
diff --git a/src/add-ons/screen_savers/icons/Jamfile 
b/src/add-ons/screen_savers/icons/Jamfile
index 887ce97..a916022 100644
--- a/src/add-ons/screen_savers/icons/Jamfile
+++ b/src/add-ons/screen_savers/icons/Jamfile
@@ -7,7 +7,7 @@ AddResources Icons : Icons.rdef ;
 
 ScreenSaver Icons :
        IconDisplay.cpp IconsSaver.cpp :
-       be libscreensaver.so localestub $(TARGET_LIBSUPC++)
+       be libscreensaver.so localestub [ TargetLibsupc++ ]
 ;
 
 DoCatalogs Icons :
diff --git a/src/add-ons/screen_savers/ifs/Jamfile 
b/src/add-ons/screen_savers/ifs/Jamfile
index 72a6816..d2a034d 100644
--- a/src/add-ons/screen_savers/ifs/Jamfile
+++ b/src/add-ons/screen_savers/ifs/Jamfile
@@ -8,7 +8,7 @@ ScreenSaver IFS :
        IFS.cpp
        IFSSaver.cpp
 
-       : be libscreensaver.so localestub $(TARGET_LIBSUPC++)
+       : be libscreensaver.so localestub [ TargetLibsupc++ ]
 ;
 
 DoCatalogs IFS :
diff --git a/src/add-ons/screen_savers/leaves/Jamfile 
b/src/add-ons/screen_savers/leaves/Jamfile
index 3ce6e22..7ec991e 100644
--- a/src/add-ons/screen_savers/leaves/Jamfile
+++ b/src/add-ons/screen_savers/leaves/Jamfile
@@ -4,7 +4,7 @@ AddResources Leaves : Leaves.rdef ;
 
 ScreenSaver Leaves :
        Leaves.cpp :
-       be screensaver $(TARGET_LIBSUPC++) localestub
+       be screensaver [ TargetLibsupc++ ] localestub
 ;
 
 DoCatalogs Leaves :
diff --git a/src/add-ons/screen_savers/message/Jamfile 
b/src/add-ons/screen_savers/message/Jamfile
index c97a689..595531a 100644
--- a/src/add-ons/screen_savers/message/Jamfile
+++ b/src/add-ons/screen_savers/message/Jamfile
@@ -11,7 +11,7 @@ AddResources Message : Message.rdef ;
 
 ScreenSaver Message :
        Message.cpp : 
-       be libscreensaver.so localestub $(TARGET_LIBSUPC++) ;
+       be libscreensaver.so localestub [ TargetLibsupc++ ] ;
 
 DoCatalogs Message :
        x-vnd.Haiku-MessageScreensaver
diff --git a/src/add-ons/screen_savers/simpleclock/Jamfile 
b/src/add-ons/screen_savers/simpleclock/Jamfile
index 63bf222..7125490 100644
--- a/src/add-ons/screen_savers/simpleclock/Jamfile
+++ b/src/add-ons/screen_savers/simpleclock/Jamfile
@@ -7,7 +7,7 @@ AddResources Message : SimpleClock.rdef ;
 ScreenSaver SimpleClock :
        SimpleClock.cpp
 
-       : be libscreensaver.so localestub $(TARGET_LIBSUPC++)
+       : be libscreensaver.so localestub [ TargetLibsupc++ ]
 ;
 
 DoCatalogs SimpleClock :
diff --git a/src/add-ons/screen_savers/slideshowsaver/Jamfile 
b/src/add-ons/screen_savers/slideshowsaver/Jamfile
index 7f3ba6d..57b953b 100644
--- a/src/add-ons/screen_savers/slideshowsaver/Jamfile
+++ b/src/add-ons/screen_savers/slideshowsaver/Jamfile
@@ -13,7 +13,7 @@ ScreenSaver SlideShowSaver :
        SlideShowSaver.cpp
        SlideShowConfigView.cpp
        :
-       be screensaver $(TARGET_LIBSTDC++) $(TARGET_LIBSUPC++) tracker 
translation
+       be screensaver [ TargetLibstdc++ ] [ TargetLibsupc++ ] tracker 
translation
 ;
 
 DoCatalogs SlideShowSaver :
diff --git a/src/add-ons/screen_savers/spider/Jamfile 
b/src/add-ons/screen_savers/spider/Jamfile
index 6c27fb1..7ff2729 100644
--- a/src/add-ons/screen_savers/spider/Jamfile
+++ b/src/add-ons/screen_savers/spider/Jamfile
@@ -9,7 +9,7 @@ ScreenSaver Spider :
        PolygonQueue.cpp
        SpiderSaver.cpp
 
-       : be libscreensaver.so localestub $(TARGET_LIBSUPC++)
+       : be libscreensaver.so localestub [ TargetLibsupc++ ]
 ;
 
 DoCatalogs Spider :
diff --git a/src/add-ons/tracker/iconvader/Jamfile 
b/src/add-ons/tracker/iconvader/Jamfile
index 73785ab..30325e6 100644
--- a/src/add-ons/tracker/iconvader/Jamfile
+++ b/src/add-ons/tracker/iconvader/Jamfile
@@ -19,5 +19,5 @@ AddResources IconVader : IconVader.rdef ;
 Addon IconVader :
        IconVader.cpp
 
-       : be tracker $(TARGET_LIBSTDC++)
+       : be tracker [ TargetLibstdc++ ]
 ;
diff --git a/src/add-ons/tracker/mark_as/Jamfile 
b/src/add-ons/tracker/mark_as/Jamfile
index f8492aa..58835fe 100644
--- a/src/add-ons/tracker/mark_as/Jamfile
+++ b/src/add-ons/tracker/mark_as/Jamfile
@@ -9,10 +9,10 @@ AddResources Mark\ as\ Read : MarkAsRead.rdef ;
 
 Addon Mark\ as… :
        MarkAs.cpp
-       : be tracker $(TARGET_LIBSUPC++) libmail.so
+       : be tracker [ TargetLibsupc++ ] libmail.so
 ;
 
 Addon Mark\ as\ Read :
        MarkAsRead.cpp
-       : be tracker $(TARGET_LIBSUPC++) libmail.so
+       : be tracker [ TargetLibsupc++ ] libmail.so
 ;
diff --git a/src/add-ons/tracker/opentargetfolder/Jamfile 
b/src/add-ons/tracker/opentargetfolder/Jamfile
index 0fcc931..c0a6a1d 100644
--- a/src/add-ons/tracker/opentargetfolder/Jamfile
+++ b/src/add-ons/tracker/opentargetfolder/Jamfile
@@ -3,6 +3,6 @@ SubDir HAIKU_TOP src add-ons tracker opentargetfolder ;
 Application Open\ Target\ Folder : 
        opentargetfolder.cpp
 
-       : be tracker $(TARGET_LIBSUPC++)
+       : be tracker [ TargetLibsupc++ ]
        : opentargetfolder.rdef
 ;
diff --git a/src/add-ons/tracker/openterminal/Jamfile 
b/src/add-ons/tracker/openterminal/Jamfile
index 93a8d35..7a464a2 100644
--- a/src/add-ons/tracker/openterminal/Jamfile
+++ b/src/add-ons/tracker/openterminal/Jamfile
@@ -7,5 +7,5 @@ AddResources Open\ Terminal : OpenTerminal.rdef ;
 Addon Open\ Terminal :
        OpenTerminal.cpp
 
-       : be tracker $(TARGET_LIBSTDC++)
+       : be tracker [ TargetLibstdc++ ]
 ;
diff --git a/src/add-ons/tracker/zipomatic/Jamfile 
b/src/add-ons/tracker/zipomatic/Jamfile
index 04a82c7..fc871e8 100644
--- a/src/add-ons/tracker/zipomatic/Jamfile
+++ b/src/add-ons/tracker/zipomatic/Jamfile
@@ -9,7 +9,7 @@ Application ZipOMatic :
        ZipOMaticWindow.cpp
        ZipperThread.cpp
 
-       : be tracker $(TARGET_LIBSUPC++) localestub
+       : be tracker [ TargetLibsupc++ ] localestub
        : ZipOMatic.rdef
 ;
 
diff --git a/src/add-ons/translators/bmp/Jamfile 
b/src/add-ons/translators/bmp/Jamfile
index 9da8879..2d89fd5 100644
--- a/src/add-ons/translators/bmp/Jamfile
+++ b/src/add-ons/translators/bmp/Jamfile
@@ -15,7 +15,7 @@ for architectureObject in [ MultiArchSubDirSetup ] {
                        BMPView.cpp
                : be translation 
                        [ MultiArchDefaultGristFiles libtranslatorsutils.a ]
-                       $(TARGET_LIBSUPC++) localestub
+                       [ TargetLibsupc++ ] localestub
                : true
                ;
        }
diff --git a/src/add-ons/translators/exr/Jamfile 
b/src/add-ons/translators/exr/Jamfile
index 7757032..d60d6e3 100644
--- a/src/add-ons/translators/exr/Jamfile
+++ b/src/add-ons/translators/exr/Jamfile
@@ -18,7 +18,7 @@ for architectureObject in [ MultiArchSubDirSetup ] {
                        EXRGamma.cpp
                        EXRTranslator.cpp
                        IStreamWrapper.cpp
-                       : be translation textencoding $(TARGET_LIBSTDC++) 
+                       : be translation textencoding [ TargetLibstdc++ ] 
                        [ MultiArchDefaultGristFiles libtranslatorsutils.a  
libilmimf.so ]
                        localestub
                        : true
diff --git a/src/add-ons/translators/exr/openexr/ilmimf/Jamfile 
b/src/add-ons/translators/exr/openexr/ilmimf/Jamfile
index 31b197a..6a6922b 100644
--- a/src/add-ons/translators/exr/openexr/ilmimf/Jamfile
+++ b/src/add-ons/translators/exr/openexr/ilmimf/Jamfile
@@ -82,7 +82,7 @@ for architectureObject in [ MultiArchSubDirSetup ] {
                        :
                        [ MultiArchDefaultGristFiles libhalf.a libiex.a 
libimath.a
                                libilmthread.a ]
-                       $(TARGET_LIBSTDC++)
+                       [ TargetLibstdc++ ]
                        [ BuildFeatureAttribute zlib : library ]
                        ;

[ *** diff truncated: 4847 lines dropped *** ]


############################################################################

Commit:      37f558d5a3e922f02d526c08bfc91594b79dcb10
URL:         http://cgit.haiku-os.org/haiku/commit/?id=37f558d
Author:      Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
Date:        Fri Aug  1 07:29:24 2014 UTC

Let runtime_loader ignore RT_RELRO program headers.

* The new libstdc++.so contains program headers of type PT_RELRO (for
  making segments read-only after relocation). While the actual feature
  has not been implemented, the runtime_loader should now silently
  accept (and ignore) those program headers.

----------------------------------------------------------------------------

############################################################################

Commit:      11ae3c5fe78154e4934d0c8c1eb744c9104427b2
URL:         http://cgit.haiku-os.org/haiku/commit/?id=11ae3c5
Author:      Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
Date:        Fri Aug  1 12:53:45 2014 UTC

Cleanup build system and configuration.

* Drop unused variables from build system that refer to the system
  libraries.
* Drop unused lists of libgcc objects.
* Drop no longer used variables from configuration script.
* Remove no longer needed building of kernel-libgcc and -libsupc++ from
  build_cross_tools_gcc4, only the boot-specific (32-bit) libs are
  built for a x86_64 target.
* Explicitly disable threads and TLS support when building the cross
  compiler, as the only libraries that are used by Haiku's build system
  is the 32-bit libgcc and libsupc++ for the bootloader on x86_64 (and
  for that neither is wanted).

----------------------------------------------------------------------------

############################################################################

Commit:      1af12dfb221391a73e94f6567f7984e1eeab7adc
URL:         http://cgit.haiku-os.org/haiku/commit/?id=1af12df
Author:      Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
Date:        Fri Aug  1 13:09:50 2014 UTC

Drop Jamfile for building non-legacy libstdc++.so.

* We no longer fake it by converting the static lib into a shared one.

----------------------------------------------------------------------------

############################################################################

Commit:      b2883f6a0dc07c455e81e39494645e31d713d7ac
URL:         http://cgit.haiku-os.org/haiku/commit/?id=b2883f6
Author:      Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
Date:        Mon Aug  4 09:21:23 2014 UTC

Add support for building <stubbed>libroot.so.

* <stubbed>libroot.so is a shared library which contains all the symbols
  from libroot, but without any code. This library will be required by
  the (to be introduced) stage0 of the bootstrap process, in order to
  be able to link the shared gcc syslibs (libstdc++.so, libsupc++.so
  and libgcc_s.so).

----------------------------------------------------------------------------

############################################################################

Commit:      4ca98ce9a935164e49707155211d2a37a3e2b65e
URL:         http://cgit.haiku-os.org/haiku/commit/?id=4ca98ce
Author:      Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
Date:        Tue Aug  5 08:11:22 2014 UTC

Cleanup with respect to headers rules.

* Move specialcasing of gcc2 from HeadersRules into the respective rule
  in SystemLibraryRules.

----------------------------------------------------------------------------

############################################################################

Commit:      ad598251d7d6134bf90fefeb0910f19477dacd2d
URL:         http://cgit.haiku-os.org/haiku/commit/?id=ad59825
Author:      Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
Date:        Mon Aug 11 18:54:20 2014 UTC

Set default of HAIKU_CONTINUOUS_INTEGRATION_BUILD.

----------------------------------------------------------------------------

############################################################################

Commit:      91e3c8435ed7a6c1f2edc7ce7c976e5b9b5247c2
URL:         http://cgit.haiku-os.org/haiku/commit/?id=91e3c84
Author:      Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
Date:        Mon Aug 11 18:56:11 2014 UTC

Only add Webpositive to image if it is available.

----------------------------------------------------------------------------

############################################################################

Commit:      b80e14ae929ba0417bde7c14bae1a0a54429e2c2
URL:         http://cgit.haiku-os.org/haiku/commit/?id=b80e14a
Author:      Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
Date:        Mon Aug 11 18:57:43 2014 UTC

Add pseudo target for bootstrap_stage0 platform.

----------------------------------------------------------------------------

############################################################################

Commit:      445257ffd662d791b35e94b0065e88f051aa3aee
URL:         http://cgit.haiku-os.org/haiku/commit/?id=445257f
Author:      Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
Date:        Mon Aug 11 19:03:34 2014 UTC

Fix missing symbols in <stubbed>libroot.so.

* A couple of symbols reuse the same address (via weak symbols), so
  we adjust generate_stubs.py accordingly.

----------------------------------------------------------------------------

############################################################################

Commit:      f7653b1b74f0d97b7785f0a323013f8b7f956ce4
URL:         http://cgit.haiku-os.org/haiku/commit/?id=f7653b1
Author:      Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
Date:        Mon Aug 11 19:09:22 2014 UTC

Optionally build glue code for bootstrap_stage0 platform.

----------------------------------------------------------------------------

############################################################################

Commit:      2e477cf688115e832d27a6019b7cf4263ba9e036
URL:         http://cgit.haiku-os.org/haiku/commit/?id=2e477cf
Author:      Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
Date:        Wed Aug 13 10:37:55 2014 UTC

Simplify handling of package names.

* No longer apply somewhat crude mechanism for converting a package name
  into a corresponding port name - haikuporter by now supports package
  names directly.

This fixes a problem when trying to pass 'gcc_syslibs_devel' to
haikuporter, which only ever saw 'gcc_syslibs'.

----------------------------------------------------------------------------

############################################################################

Commit:      e29a6c4cd44f1b189b4938beea2b7ef1d0ce65f0
URL:         http://cgit.haiku-os.org/haiku/commit/?id=e29a6c4
Author:      Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
Date:        Mon Aug 11 20:28:44 2014 UTC

Introduce stage0 into the bootstrap process.

* This stage builds the gcc packages to get the shared syslibs, which
  only requires the Haiku glue code.
* Add separate declaration section for stage0 packages to
  HaikuPortsCross repository files.
* For the bootstrap_stage0 platform, fall back to the gcc headers
  provided by the cross-compiler.

----------------------------------------------------------------------------

############################################################################

Revision:    hrev47677
Commit:      87e8603d9f4cecce2250564deb85bc2ef5c23bfa
URL:         http://cgit.haiku-os.org/haiku/commit/?id=87e8603
Author:      Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
Date:        Wed Aug 13 11:37:15 2014 UTC

Merge branch 'gcc_syslibs'

* From now on, the gcc-specific system libraries (libgcc, libsupc++ and
  libstdc++) are provided by separate packages built along with gcc:
  - gcc_syslibs contains the shared libraries (libgcc_s.so, libsupc++.so and
    libstdc++.so)
  - gcc_syslibs_devel contains the static libraries and both c++ and gcc
    headers
  The shared libraries now make proper use of symbol versioning and there
  are version-specific symlinks
* The buildsystem has been adjusted to no longer use the libraries and
  headers from the cross-compiler, but use the ones provided by the
  above-mentioned packages. The only exception is that the 32-bit libraries
  required for the bootloader of the x86_64 architecture are still taken
  from the cross-compiler.

----------------------------------------------------------------------------


Other related posts: