mirror of
https://github.com/Relintai/osxcross.git
synced 2025-02-03 22:45:56 +01:00
cctools: check for __cxa_demangle in -lstdc++
This commit is contained in:
parent
4b95193499
commit
dce760ab01
6
build.sh
6
build.sh
@ -173,7 +173,13 @@ extract $CCTOOLS_TARBALL 1
|
|||||||
pushd cctools*/cctools &>/dev/null
|
pushd cctools*/cctools &>/dev/null
|
||||||
pushd .. &>/dev/null
|
pushd .. &>/dev/null
|
||||||
if [ $LINKER_VERSION != "134.9" ]; then
|
if [ $LINKER_VERSION != "134.9" ]; then
|
||||||
|
# fix compiling ld64 with libc++
|
||||||
patch -p0 < $PATCH_DIR/cctools-e3cbeaf.patch
|
patch -p0 < $PATCH_DIR/cctools-e3cbeaf.patch
|
||||||
|
# check for __cxa_demangle in -lstdc++
|
||||||
|
patch -p0 < $PATCH_DIR/cctools-499e470.patch
|
||||||
|
else
|
||||||
|
# __cxa_demangle + 3.5 build fix
|
||||||
|
patch -p0 < $PATCH_DIR/cctools-a78597e.patch
|
||||||
fi
|
fi
|
||||||
if [ "$PLATFORM" == "Linux" ]; then
|
if [ "$PLATFORM" == "Linux" ]; then
|
||||||
patch -p0 < $PATCH_DIR/cctools-old-linux.patch
|
patch -p0 < $PATCH_DIR/cctools-old-linux.patch
|
||||||
|
26
patches/cctools-499e470.patch
Normal file
26
patches/cctools-499e470.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
commit 499e470904eaa976755de9caca2b98b92f0efcd9
|
||||||
|
Author: Thomas Pöchtrager <t.poechtrager@gmail.com>
|
||||||
|
Date: Fri Jun 20 10:25:39 2014 +0200
|
||||||
|
|
||||||
|
check for __cxa_demangle in -lstdc++
|
||||||
|
|
||||||
|
diff --git cctools/configure.ac cctools/configure.ac
|
||||||
|
index 3411e34..4ac2d69 100644
|
||||||
|
--- cctools/configure.ac
|
||||||
|
+++ cctools/configure.ac
|
||||||
|
@@ -254,10 +254,12 @@ AC_SUBST(UUID_LIBS)
|
||||||
|
AC_CHECK_LIB([crypto],[MD5_Init],[CRYPT_LIBS=-lcrypto])
|
||||||
|
AC_SUBST(CRYPT_LIBS)
|
||||||
|
|
||||||
|
-AC_CHECK_LIB([supc++],[__cxa_demangle],[CXXABI_LIB=-lsupc++])
|
||||||
|
-AC_SUBST(CXXABI_LIB)
|
||||||
|
+AC_CHECK_LIB([c++abi],[__cxa_demangle],[CXXABI_LIB=-lc++abi],[
|
||||||
|
+ AC_CHECK_LIB([supc++],[__cxa_demangle],[CXXABI_LIB=-lsupc++],[
|
||||||
|
+ AC_CHECK_LIB([stdc++],[__cxa_demangle],[CXXABI_LIB=-lstdc++],[exit 1])
|
||||||
|
+ ])
|
||||||
|
+])
|
||||||
|
|
||||||
|
-AC_CHECK_LIB([c++abi],[__cxa_demangle],[CXXABI_LIB=-lc++abi])
|
||||||
|
AC_SUBST(CXXABI_LIB)
|
||||||
|
|
||||||
|
AC_C_BIGENDIAN([AC_SUBST([ENDIAN_FLAG],[-D__BIG_ENDIAN__=1])],
|
77
patches/cctools-a78597e.patch
Normal file
77
patches/cctools-a78597e.patch
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
commit a78597e93b6fc7332a3761771fa19c8e0d2945cf
|
||||||
|
Author: Thomas Pöchtrager <t.poechtrager@gmail.com>
|
||||||
|
Date: Fri Jun 20 11:01:58 2014 +0200
|
||||||
|
|
||||||
|
check for __cxa_demangle in -lstdc++
|
||||||
|
clang 3.5 compile fix
|
||||||
|
|
||||||
|
diff --git cctools/configure.ac cctools/configure.ac
|
||||||
|
index 0d9a4ec..2b23112 100644
|
||||||
|
--- cctools/configure.ac
|
||||||
|
+++ cctools/configure.ac
|
||||||
|
@@ -239,26 +239,26 @@ CFLAGS=$ORIGCFLAGS
|
||||||
|
AC_SUBST([WARNINGS], [$WARNINGS])
|
||||||
|
|
||||||
|
|
||||||
|
-AC_CHECK_LIB([dl],[dlopen],[
|
||||||
|
- DL_LIBS=-ldl
|
||||||
|
- ])
|
||||||
|
+AC_CHECK_LIB([dl],[dlopen],[DL_LIBS=-ldl])
|
||||||
|
AC_SUBST(DL_LIBS)
|
||||||
|
|
||||||
|
-AC_CHECK_LIB([pthread],[pthread_create],[
|
||||||
|
- PTHREAD_FLAGS=-pthread
|
||||||
|
- ])
|
||||||
|
+AC_CHECK_LIB([pthread],[pthread_create],[PTHREAD_FLAGS=-pthread])
|
||||||
|
AC_SUBST(PTHREAD_FLAGS)
|
||||||
|
|
||||||
|
-AC_CHECK_LIB([uuid],[uuid_generate_random],[
|
||||||
|
- UUID_LIBS=-luuid
|
||||||
|
- ])
|
||||||
|
+AC_CHECK_LIB([uuid],[uuid_generate_random],[UUID_LIBS=-luuid])
|
||||||
|
AC_SUBST(UUID_LIBS)
|
||||||
|
|
||||||
|
-AC_CHECK_LIB([crypto],[MD5_Init],[
|
||||||
|
- CRYPT_LIBS=-lcrypto
|
||||||
|
- ])
|
||||||
|
+AC_CHECK_LIB([crypto],[MD5_Init],[CRYPT_LIBS=-lcrypto])
|
||||||
|
AC_SUBST(CRYPT_LIBS)
|
||||||
|
|
||||||
|
+AC_CHECK_LIB([c++abi],[__cxa_demangle],[CXXABI_LIB=-lc++abi],[
|
||||||
|
+ AC_CHECK_LIB([supc++],[__cxa_demangle],[CXXABI_LIB=-lsupc++],[
|
||||||
|
+ AC_CHECK_LIB([stdc++],[__cxa_demangle],[CXXABI_LIB=-lstdc++],[exit 1])
|
||||||
|
+ ])
|
||||||
|
+])
|
||||||
|
+
|
||||||
|
+AC_SUBST(CXXABI_LIB)
|
||||||
|
+
|
||||||
|
AC_C_BIGENDIAN([AC_SUBST([ENDIAN_FLAG],[-D__BIG_ENDIAN__=1])],
|
||||||
|
[AC_SUBST([ENDIAN_FLAG],[-D__LITTLE_ENDIAN__=1])])
|
||||||
|
|
||||||
|
diff --git cctools/ld64/src/ld/code-sign-blobs/memutils.h cctools/ld64/src/ld/code-sign-blobs/memutils.h
|
||||||
|
index 391ddc1..b0421f0 100644
|
||||||
|
--- cctools/ld64/src/ld/code-sign-blobs/memutils.h
|
||||||
|
+++ cctools/ld64/src/ld/code-sign-blobs/memutils.h
|
||||||
|
@@ -33,6 +33,9 @@
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
+#ifdef __GLIBCXX__
|
||||||
|
+using namespace __gnu_cxx;
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Encapsulate these very sharp tools in a separate (ugly-named) namespace
|
||||||
|
diff --git cctools/otool/Makefile.am cctools/otool/Makefile.am
|
||||||
|
index 3172d7e..4adb742 100644
|
||||||
|
--- cctools/otool/Makefile.am
|
||||||
|
+++ cctools/otool/Makefile.am
|
||||||
|
@@ -4,7 +4,7 @@ otool_LDADD = \
|
||||||
|
$(top_srcdir)/libobjc2/libobjc.la \
|
||||||
|
$(DL_LIBS)
|
||||||
|
|
||||||
|
-otool_LDFLAGS = $(PTHREAD_FLAGS) -lsupc++ # __cxa_demangle
|
||||||
|
+otool_LDFLAGS = $(PTHREAD_FLAGS) $(CXXABI_LIB)
|
||||||
|
|
||||||
|
otool_CFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/include/foreign -I$(top_srcdir)/libstuff -I$(top_srcdir)/libobjc2 $(WARNINGS) $(LTO_DEFS) -D_DARWIN_C_SOURCE -D__DARWIN_UNIX03 $(ENDIAN_FLAG) -DOTOOL
|
||||||
|
|
Loading…
Reference in New Issue
Block a user