]> git.tdb.fi Git - builder.git/blobdiff - bootstrap.sh
Older versions of OS X don't have clang
[builder.git] / bootstrap.sh
index dd0e8a6e09748f5f8e9eddc2f0caaeb2bcef6bd2..9355b27e098264b0fc4d9de99d7a8f5f0f725c7a 100755 (executable)
@@ -8,11 +8,21 @@ REQUIRED="core datafile"
 CFLAGS="-I$INCLUDEDIR `pkg-config --cflags sigc++-2.0`"
 LIBS="`pkg-config --libs sigc++-2.0` -lpthread"
 MACHINE="`uname -m`"
+SYSTEM="`uname -s`"
 if [ "$MACHINE" = "x86_64" ]; then
        MULTIARCH="x86_64-linux-gnu"
 else
        MULTIARCH="i386-linux-gnu"
 fi
+if [ "$SYSTEM" = "Darwin" ]; then
+       if which clang++ >/dev/null; then
+               COMPILER="clang++"
+       else
+               COMPILER="g++"
+       fi
+else
+       COMPILER="g++"
+fi
 if [ -e /usr/lib/libdl.so -o -e /usr/lib/$MULTIARCH/libdl.so ]; then
        LIBS="$LIBS -ldl"
 fi
@@ -83,17 +93,19 @@ fi
 echo "Compiling builder-stage1.  This may take several minutes."
 objects=""
 for i in $sources; do
-       obj=`mktemp --tmpdir=temp/bootstrap XXXXXX.o`
+       obj=`mktemp temp/bootstrap/XXXXXX`
+       mv $obj $obj.o
+       obj=$obj.o
        dir=${i%/*}
        dir=${dir%/unix}
        flags="$CFLAGS"
        if [ -d "$dir/unix" ]; then
                flags="$flags -iquote $dir -iquote $dir/unix"
        fi
-       g++ -c $i -o $obj $flags
+       $COMPILER -c $i -o $obj $flags
        objects="$objects $obj"
 done
-g++ $objects -o builder-stage1 $LIBS
+$COMPILER $objects -o builder-stage1 $LIBS
 
 if [ "$KEEP_TEMP" != "yes" ]; then
        echo "Cleaning up"