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 .. &>/dev/null
|
||||
if [ $LINKER_VERSION != "134.9" ]; then
|
||||
# fix compiling ld64 with libc++
|
||||
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
|
||||
if [ "$PLATFORM" == "Linux" ]; then
|
||||
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