From e935b366883812155c7ab48653f1a48d84dc9ff8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20P=C3=B6chtrager?= Date: Sun, 19 Jan 2014 10:18:28 +0100 Subject: [PATCH] fix compiling pre-compiled headers --- oclang/oclang | 11 ++++++++--- ogcc/ogcc | 19 +++++++++++++------ 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/oclang/oclang b/oclang/oclang index 8176444..9cd0e8b 100755 --- a/oclang/oclang +++ b/oclang/oclang @@ -83,7 +83,7 @@ if [ -n "$BUILD_LIBCXX" ]; then USE_LIBCXX=0 else if [ $USE_LIBCXX -eq 0 ]; then - MIN_TARGET_VERSION=`echo "$OSX_VERSION_MIN" | tr '=' ' ' | tr '.' ' ' | awk '{printf "%d %d", $1, $2}'` + MIN_TARGET_VERSION=`echo "$OSX_VERSION_MIN" | tr '.' ' ' | awk '{printf "%d %d", $1, $2}'` MIN_TARGET_VERSION_MAJOR=`echo $MIN_TARGET_VERSION | awk '{print $1}'` MIN_TARGET_VERSION_MINOR=`echo $MIN_TARGET_VERSION | awk '{print $2}'` @@ -106,8 +106,13 @@ if [ $USE_LIBCXX -ne 0 ]; then CXXINC="$CXXINC -stdlib=libc++" fi - CXXINC="$CXXINC -Qunused-arguments -lc++abi" - CXXINC="$CXXINC -L$OSXCROSS_SDK/../libcxx_$OSXCROSS_SDK_VERSION/lib" + REGEX="\-o\s*[^ ]+\.gch" + if [[ ! "$@" =~ $REGEX ]]; then + if [[ $COMPILER == *clang++* ]]; then + CXXINC="$CXXINC -Qunused-arguments -lc++abi" + fi + CXXINC="$CXXINC -L$OSXCROSS_SDK/../libcxx_$OSXCROSS_SDK_VERSION/lib" + fi else CXXINC="-cxx-isystem $OSXCROSS_SDK/usr/lib/gcc/i686-apple-$OSXCROSS_TARGET/4.2.1/include" CXXINC="$CXXINC -cxx-isystem $OSXCROSS_SDK/usr/include/c++/4.0.0 " diff --git a/ogcc/ogcc b/ogcc/ogcc index f491529..cef8359 100755 --- a/ogcc/ogcc +++ b/ogcc/ogcc @@ -34,13 +34,20 @@ if [[ $COMPILER == *g++ ]] && [[ $type == *libc++* ]]; then OSXCROSS_OPT_ARGS="$OSXCROSS_OPT_ARGS -std=c++0x -nostdinc++ -nodefaultlibs" OSXCROSS_OPT_ARGS="$OSXCROSS_OPT_ARGS -lc -isystem $OSXCROSS_SDK/../libcxx_$OSXCROSS_SDK_VERSION/include/c++/v1" - OSXCROSS_OPT_ARGS="$OSXCROSS_OPT_ARGS -L$OSXCROSS_SDK/../libcxx_$OSXCROSS_SDK_VERSION/lib -lc++ -lc++abi" - OSXCROSS_OPT_ARGS="$OSXCROSS_OPT_ARGS -L$OSXCROSS_SDK/usr/lib -lgcc_s.10.5" + + REGEX="\-o\s*[^ ]+\.gch" + if [[ ! "$@" =~ $REGEX ]]; then + OSXCROSS_OPT_ARGS="$OSXCROSS_OPT_ARGS -L$OSXCROSS_SDK/../libcxx_$OSXCROSS_SDK_VERSION/lib -lc++ -lc++abi" + OSXCROSS_OPT_ARGS="$OSXCROSS_OPT_ARGS -L$OSXCROSS_SDK/usr/lib -lgcc_s.10.5" + fi else - if [[ $COMPILER == *g++ ]]; then - OSXCROSS_OPT_ARGS="$OSXCROSS_OPT_ARGS -static-libgcc -static-libstdc++" - else - OSXCROSS_OPT_ARGS="$OSXCROSS_OPT_ARGS -static-libgcc" + REGEX="\-o\s*[^ ]+\.gch" + if [[ ! "$@" =~ $REGEX ]]; then + if [[ $COMPILER == *g++ ]]; then + OSXCROSS_OPT_ARGS="$OSXCROSS_OPT_ARGS -static-libgcc -static-libstdc++" + else + OSXCROSS_OPT_ARGS="$OSXCROSS_OPT_ARGS -static-libgcc" + fi fi fi