From c57030bc98a5060689282de27d44219f5c4adeee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20P=C3=B6chtrager?= Date: Sat, 10 May 2014 17:05:58 +0200 Subject: [PATCH] use -std=c++0x instead of -std=gnu++0x as -std=gnu++0x seems to break compiling ld64 on some systems --- build.sh | 3 +++ patches/cctools-f19cc13.patch | 25 +++++++++++++++++++++++++ tools/tools.sh | 2 +- 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 patches/cctools-f19cc13.patch diff --git a/build.sh b/build.sh index bac570f..71bbc09 100755 --- a/build.sh +++ b/build.sh @@ -172,6 +172,9 @@ extract $CCTOOLS_TARBALL 1 pushd cctools*/cctools &>/dev/null pushd .. &>/dev/null +if [ $LINKER_VERSION != "134.9" ]; then + patch -p0 < $PATCH_DIR/cctools-f19cc13.patch +fi if [ "$PLATFORM" == "Linux" ]; then patch -p0 < $PATCH_DIR/cctools-old-linux.patch fi diff --git a/patches/cctools-f19cc13.patch b/patches/cctools-f19cc13.patch new file mode 100644 index 0000000..9c7f6c7 --- /dev/null +++ b/patches/cctools-f19cc13.patch @@ -0,0 +1,25 @@ +diff --git cctools/configure.ac cctools/configure.ac +index 8b59f6b..3411e34 100644 +--- cctools/configure.ac ++++ cctools/configure.ac +@@ -12,7 +12,7 @@ CXX=clang++ + + CFLAGS="$CFLAGS `cat tmp/cflags 2>/dev/null`" + CFLAGS="$CFLAGS -isystem /usr/local/include -isystem /usr/pkg/include -O3" +-CXXFLAGS="$CXXFLAGS -std=gnu++0x `cat tmp/cxxflags 2>/dev/null`" ++CXXFLAGS="$CXXFLAGS -std=c++0x `cat tmp/cxxflags 2>/dev/null`" + CXXFLAGS="$CXXFLAGS -isystem /usr/local/include -isystem /usr/pkg/include -O3" + + LDFLAGS="$LDFLAGS -L/usr/local/lib `cat tmp/ldflags 2>/dev/null`" +diff --git cctools/ld64/src/ld/code-sign-blobs/memutils.h cctools/ld64/src/ld/code-sign-blobs/memutils.h +index 8fa48d6..bcf1a23 100644 +--- cctools/ld64/src/ld/code-sign-blobs/memutils.h ++++ cctools/ld64/src/ld/code-sign-blobs/memutils.h +@@ -33,6 +33,7 @@ + #include + #include + ++using namespace __gnu_cxx; + + // + // Encapsulate these very sharp tools in a separate (ugly-named) namespace diff --git a/tools/tools.sh b/tools/tools.sh index 31a1777..daf588f 100755 --- a/tools/tools.sh +++ b/tools/tools.sh @@ -98,7 +98,7 @@ function check_cxx_stdlib() { set +e - $CXX $CXXFLAGS -std=gnu++0x $BASE_DIR/tools/stdlib-test.cpp -S -o- \ + $CXX $CXXFLAGS -std=c++0x $BASE_DIR/tools/stdlib-test.cpp -S -o- \ 2>$BUILD_DIR/stdlib-test.log 1>/dev/null echo "$?"