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" -o "$SYSTEM" = "FreeBSD" ]; 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
--keep-temp)
KEEP_TEMP=yes
;;
+ --compiler)
+ shift
+ COMPILER="$1"
+ CUSTOM_COMPILER=yes
+ ;;
+ --compiler=*)
+ COMPILER="${1#--compiler=}"
+ CUSTOM_COMPILER=yes
+ ;;
+ --debug)
+ DEBUG=-g
+ ;;
*)
echo "Unknown option $1"
exit 1
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 $DEBUG $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"
if [ "$PREFIX" ]; then
ARGS="$ARGS --prefix='$PREFIX'"
fi
+if [ "$CUSTOM_COMPILER" = "yes" ]; then
+ ARGS="$ARGS CXX=$COMPILER"
+fi
eval "./builder-stage1 $ARGS"