]> git.tdb.fi Git - builder.git/blobdiff - bootstrap.sh
Support gcc's -iquote feature
[builder.git] / bootstrap.sh
index 26b8b31ba7c17f96557504e4f5a16b63d80a2a2e..70d032399886d10d9bd983342a426e47866be271 100755 (executable)
@@ -3,18 +3,50 @@
 
 set -e
 
+INCLUDEDIR=temp/bootstrap/include
 REQUIRED="core datafile"
-CFLAGS="-Iinclude `pkg-config --cflags sigc++-2.0`"
+CFLAGS="-I$INCLUDEDIR `pkg-config --cflags sigc++-2.0`"
 LIBS="`pkg-config --libs sigc++-2.0` -lpthread"
-if [ -e /usr/lib/libdl.so ]; then
+MACHINE="`uname -m`"
+if [ "$MACHINE" = "x86_64" ]; then
+       MULTIARCH="x86_64-linux-gnu"
+else
+       MULTIARCH="i386-linux-gnu"
+fi
+if [ -e /usr/lib/libdl.so -o -e /usr/lib/$MULTIARCH/libdl.so ]; then
        LIBS="$LIBS -ldl"
 fi
+
+while [ "$1" ]; do
+       case $1 in
+       --libpath)
+               shift
+               LIBPATH="$1"
+               ;;
+       --libpath=*)
+               LIBPATH="${1#--libpath=}"
+               ;;
+       --prefix)
+               shift
+               PREFIX="$1"
+               ;;
+       --prefix=*)
+               PREFIX="${1#--prefix=}"
+               ;;
+       *)
+               echo "Unknown option $1"
+               exit 1
+               ;;
+       esac
+       shift
+done
+
 if [ -z "$LIBPATH" -o "${LIBPATH%%/*}" ]; then
        LIBPATH=`pwd`/${LIBPATH:-..}
 fi
 
-rm -rf include
-mkdir -p include/msp
+rm -rf "$INCLUDEDIR"
+mkdir -p "$INCLUDEDIR/msp"
 
 sources=source/*.cpp
 
@@ -25,9 +57,9 @@ for i in $REQUIRED; do
                missing="$missing msp$i"
        else
                if [ $i = "core" ]; then
-                       ln -sf $path/source/* include/msp/
+                       ln -sf $path/source/* "$INCLUDEDIR/msp/"
                else
-                       ln -sf $path/source include/msp/$i
+                       ln -sf $path/source "$INCLUDEDIR/msp/$i"
                fi
                sources="$sources `find $path/source -name '*.cpp'`"
        fi
@@ -36,11 +68,15 @@ done
 if [ ! -z "$missing" ]; then
        echo "The following libraries were not found:$missing"
        echo "I looked for them in $LIBPATH"
-       echo "If they are somewhere else, please adjust the LIBPATH environment variable."
+       echo "If they are somewhere else, please add --libpath=PATH to the command line."
        exit 1
 fi
 
 echo "Compiling builder-stage1.  This may take several minutes."
 g++ $sources -o builder-stage1 $CFLAGS $LIBS
 echo "Using builder-stage1 to compile builder."
-./builder-stage1
+ARGS=
+if [ "$PREFIX" ]; then
+       ARGS="$ARGS --prefix='$PREFIX'"
+fi
+eval "./builder-stage1 $ARGS"