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"
MACHINE="`uname -m`"
if [ "$MACHINE" = "x86_64" ]; then
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
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
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"