~ubuntu-branches/ubuntu/saucy/emscripten/saucy-proposed

« back to all changes in this revision

Viewing changes to system/lib/libcxxabi/lib/buildit

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2013-05-02 13:11:51 UTC
  • Revision ID: package-import@ubuntu.com-20130502131151-q8dvteqr1ef2x7xz
Tags: upstream-1.4.1~20130504~adb56cb
ImportĀ upstreamĀ versionĀ 1.4.1~20130504~adb56cb

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#! /bin/sh
 
2
#
 
3
# Set the $TRIPLE environment variable to your system's triple before
 
4
# running this script.  If you set $CXX, that will be used to compile
 
5
# the library.  Otherwise we'll use clang++.
 
6
 
 
7
set -e
 
8
 
 
9
if [ `basename $(pwd)` != "lib" ]
 
10
then
 
11
        echo "current directory must be lib"
 
12
        exit 1
 
13
fi
 
14
 
 
15
if [ -z "$CXX" ]
 
16
then
 
17
        CXX=clang++
 
18
fi
 
19
 
 
20
if [ -z "$CC" ]
 
21
then
 
22
    CC=clang
 
23
fi
 
24
 
 
25
if [ -z $RC_ProjectSourceVersion ]
 
26
then
 
27
  RC_ProjectSourceVersion=1
 
28
fi
 
29
 
 
30
EXTRA_FLAGS="-std=c++0x -stdlib=libc++ -fstrict-aliasing -Wstrict-aliasing=2 \
 
31
             -Wsign-conversion -Wshadow -Wconversion -Wunused-variable \
 
32
             -Wmissing-field-initializers -Wchar-subscripts -Wmismatched-tags \
 
33
             -Wmissing-braces -Wshorten-64-to-32 -Wsign-compare \
 
34
             -Wstrict-aliasing=2 -Wstrict-overflow=4 -Wunused-parameter \
 
35
             -Wnewline-eof"
 
36
 
 
37
case $TRIPLE in
 
38
  *-apple-*)
 
39
    if [ -z $RC_XBS ]
 
40
    then
 
41
      RC_CFLAGS="-arch i386 -arch x86_64"
 
42
    fi
 
43
    SOEXT=dylib
 
44
    if [ -n "$SDKROOT" ]
 
45
    then
 
46
        EXTRA_FLAGS+="-isysroot ${SDKROOT}"
 
47
        CXX=`xcrun -sdk "${SDKROOT}"  -find clang++`
 
48
        CC=`xcrun -sdk "${SDKROOT}"  -find clang`
 
49
    fi
 
50
    LDSHARED_FLAGS="-o libc++abi.dylib \
 
51
        -dynamiclib -nodefaultlibs  \
 
52
        -current_version ${RC_ProjectSourceVersion} \
 
53
        -compatibility_version 1 \
 
54
        -install_name /usr/lib/libc++abi.dylib \
 
55
        -lSystem"
 
56
        if [ -f "${SDKROOT}/usr/local/lib/libCrashReporterClient.a" ]
 
57
        then
 
58
                LDSHARED_FLAGS+=" -lCrashReporterClient"
 
59
        fi
 
60
    ;;
 
61
  *-*-mingw*)
 
62
    # FIXME: removing libgcc and libsupc++ dependencies means porting libcxxrt and LLVM/compiler-rt
 
63
    SOEXT=dll
 
64
    LDSHARED_FLAGS="-o libc++abi.dll \
 
65
        -shared -nodefaultlibs -Wl,--export-all-symbols -Wl,--allow-multiple-definition -Wl,--out-implib,libc++abi.dll.a \
 
66
        -lsupc++ -lpthread -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcr100 -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt"
 
67
        ;;
 
68
  *)
 
69
    RC_CFLAGS="-fPIC"
 
70
    SOEXT=so
 
71
    LDSHARED_FLAGS="-o libc++abi.so.1.0 \
 
72
        -shared -nodefaultlibs -Wl,-soname,libc++abi.so.1 \
 
73
        -lpthread -lrt -lc -lstdc++"
 
74
    ;;
 
75
esac
 
76
 
 
77
if [ -z $RC_XBS ]
 
78
then
 
79
    rm -f libc++abi.1.$SOEXT*
 
80
fi
 
81
 
 
82
set -x
 
83
 
 
84
for FILE in ../src/*.cpp; do
 
85
        $CXX -c -g -O3 $RC_CFLAGS $EXTRA_FLAGS -I../include $FILE
 
86
done
 
87
case $TRIPLE in
 
88
  *-*-mingw*)
 
89
  for FILE in ../src/support/win32/*.cpp; do
 
90
    $CXX -c -g -Os $RC_CFLAGS $EXTRA_FLAGS -I../include $FILE
 
91
  done
 
92
  ;;
 
93
esac
 
94
$CC *.o $RC_CFLAGS $LDSHARED_FLAGS $EXTRA_FLAGS
 
95
 
 
96
if [ -z $RC_XBS ]
 
97
then
 
98
    rm *.o
 
99
fi