set -e
-REQUIRED="core datafile fs strings io"
+REQUIRED="core datafile"
CFLAGS="-Iinclude `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
if [ -z "$LIBPATH" -o "${LIBPATH%%/*}" ]; then
sources=source/*.cpp
+missing=""
for i in $REQUIRED; do
path=`ls -1d $LIBPATH/*$i* 2>/dev/null | head -n1`
- if [ -z "$path" ]; then
- echo msp$i missing
- exit 1
- fi
- if [ $i = "core" ]; then
- ln -sf $path/source/* include/msp/
+ if [ -z "$path" -o ! -d "$path/source" ]; then
+ missing="$missing msp$i"
else
- ln -sf $path/source include/msp/$i
+ if [ $i = "core" ]; then
+ ln -sf $path/source/* include/msp/
+ else
+ ln -sf $path/source include/msp/$i
+ fi
+ sources="$sources `find $path/source -name '*.cpp'`"
fi
- sources="$sources `find $path/source -name '*.cpp'`"
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."
+ exit 1
+fi
+
echo "Compiling builder-stage1. This may take several minutes."
g++ $sources -o builder-stage1 $CFLAGS $LIBS
-echo "Done."
+echo "Using builder-stage1 to compile builder."
+./builder-stage1