X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=bootstrap.sh;h=7b96c9639c1bf3aa58032e53cc04d13a79fe4cc9;hb=04c316da6d5d90e43cba262f54d90ca231f703bf;hp=f0f51a7ea069c8e6b7a13dd4269626711bd4ce8d;hpb=afed9d3a6326790b77b786cbc1e76b725a14dbe5;p=builder.git diff --git a/bootstrap.sh b/bootstrap.sh index f0f51a7..7b96c96 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -5,29 +5,42 @@ set -e REQUIRED="core datafile fs strings io" CFLAGS="-Iinclude `pkg-config --cflags sigc++-2.0`" -LIBS="`pkg-config --libs sigc++-2.0` -lpthread -ldl" -if [ -z "$LIBPATH" ]; then - LIBPATH=`pwd`/.. +LIBS="`pkg-config --libs sigc++-2.0` -lpthread" +if [ -e /usr/lib/libdl.so ]; then + LIBS="$LIBS -ldl" +fi +if [ -z "$LIBPATH" -o "${LIBPATH%%/*}" ]; then + LIBPATH=`pwd`/${LIBPATH:-..} fi -LIBPATH=`readlink -f $LIBPATH` - +rm -rf include mkdir -p include/msp sources=source/*.cpp +missing="" for i in $REQUIRED; do - path=$LIBPATH/$i - if [ ! -e $path ]; then - echo $i missing - exit 1 - fi - if [ $i = "core" ]; then - ln -sfT $path/source/* -t include/msp + path=`ls -1d $LIBPATH/*$i* 2>/dev/null | head -n1` + if [ -z "$path" -o ! -d "$path/source" ]; then + missing="$missing msp$i" else - ln -sfT $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 "Using builder-stage1 to compile builder." +./builder-stage1