summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Kledzik <kledzik@apple.com>2011-05-04 21:50:46 +0000
committerNick Kledzik <kledzik@apple.com>2011-05-04 21:50:46 +0000
commitde214e29df49a29b639504ad7a087a99cd5a3029 (patch)
tree9f96b0bc4d93f61e70789a8a913dc41c780b0287
parent0de8d4503b5791b671f5f690ec9c6a54eb01f28c (diff)
downloadbcm5719-llvm-de214e29df49a29b639504ad7a087a99cd5a3029.tar.gz
bcm5719-llvm-de214e29df49a29b639504ad7a087a99cd5a3029.zip
<rdar://problem/9014045> more support for Apple internal build environments
llvm-svn: 130872
-rwxr-xr-xlibcxx/lib/buildit23
1 files changed, 18 insertions, 5 deletions
diff --git a/libcxx/lib/buildit b/libcxx/lib/buildit
index c0584c5a614..6856518db3b 100755
--- a/libcxx/lib/buildit
+++ b/libcxx/lib/buildit
@@ -17,6 +17,11 @@ then
CXX=clang++
fi
+if [ -z "$CC" ]
+then
+ CC=clang
+fi
+
if [ -z $MACOSX_DEPLOYMENT_TARGET ]
then
MACOSX_DEPLOYMENT_TARGET=10.6
@@ -45,16 +50,24 @@ case $TRIPLE in
-Wl,-unexported_symbols_list,libc++unexp.exp \
/usr/lib/libSystem.B.dylib"
else
- EXTRA_FLAGS="-std=c++0x"
- LDSHARED_FLAGS="-o libc++.1.dylib \
+ EXTRA_FLAGS="-std=c++0x "
+ RE_EXPORT_FILE="libc++abi.exp"
+ if [ -n "$SDKROOT" ]
+ then
+ EXTRA_FLAGS+="-isysroot ${SDKROOT}"
+ RE_EXPORT_FILE="libc++sjlj-abi.exp"
+ CXX=`xcrun -sdk "${SDKROOT}" -find clang++`
+ CC=`xcrun -sdk "${SDKROOT}" -find clang`
+ fi
+ LDSHARED_FLAGS="-o libc++.1.dylib \
-dynamiclib -nodefaultlibs \
-current_version ${RC_ProjectSourceVersion} -compatibility_version 1 \
-install_name /usr/lib/libc++.1.dylib \
${SDKROOT}/usr/lib/libc++abi.dylib \
-lSystem \
-Wl,-unexported_symbols_list,libc++unexp.exp \
- -Wl,-reexported_symbols_list,libc++abi.exp \
- -Wl,-force_symbols_not_weak_list,notweak.exp"
+ -Wl,-reexported_symbols_list,${RE_EXPORT_FILE} \
+ -Wl,-force_symbols_not_weak_list,notweak.exp "
fi
;;
*)
@@ -78,7 +91,7 @@ for FILE in ../src/*.cpp; do
done
-cc *.o $RC_CFLAGS $LDSHARED_FLAGS
+$CC *.o $RC_CFLAGS $LDSHARED_FLAGS $EXTRA_FLAGS
#libtool -static -o libc++.a *.o
OpenPOWER on IntegriCloud