]> git.tdb.fi Git - builder.git/blobdiff - bootstrap.sh
Rework the Target class hierarchy
[builder.git] / bootstrap.sh
index 93ee706b1ccf47772d4e6af96005f735a7f06a16..cdaeee6138e989e66e4c155cc56987546bfaeb09 100755 (executable)
@@ -1,31 +1,37 @@
 #!/bin/sh
+# $Id$
 
-REQUIRED="misc core parser path regex++ getopt++"
+set -e
+
+REQUIRED="core datafile fs strings io"
 CFLAGS="-Iinclude `pkg-config --cflags sigc++-2.0`"
 LIBS="`pkg-config --libs sigc++-2.0` -lpthread"
-if [ -z "$LIBPATH" ]; then
-       LIBPATH=`pwd`/..
+if [ -e /usr/lib/libdl.so ]; then
+       LIBS="$LIBS -ldl"
+fi
+if [ -z "$LIBPATH" -o "${LIBPATH%%/*}" ]; then
+       LIBPATH=`pwd`/${LIBPATH:-..}
 fi
 
+rm -rf include
 mkdir -p include/msp
 
 sources=source/*.cpp
 
 for i in $REQUIRED; do
-       path=$LIBPATH/$i
-       if [ ! -e $path ]; then
-               echo $i missing
+       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/core include/msp/core
-               ln -sf $path/source/time include/msp/time
-       elif [ $i = "misc" ]; then
-               ln -sf $path/source/*.h include/msp
+               ln -sf $path/source/* include/msp/
        else
                ln -sf $path/source include/msp/$i
        fi
        sources="$sources `find $path/source -name '*.cpp'`"
 done
 
+echo "Compiling builder-stage1.  This may take several minutes."
 g++ $sources -o builder-stage1 $CFLAGS $LIBS
+echo "Done."