--prefix=*)
PREFIX="${1#--prefix=}"
;;
+ --keep-temp)
+ KEEP_TEMP=yes
+ ;;
*)
echo "Unknown option $1"
exit 1
if [ -z "$path" -o ! -d "$path/source" ]; then
missing="$missing msp$i"
else
- if [ $i = "core" ]; then
- ln -sf $path/source/* "$INCLUDEDIR/msp/"
- else
- ln -sf $path/source "$INCLUDEDIR/msp/$i"
- fi
+ headers=`find $path/source \( -name windows -prune \) -o \( -name '*.h' -print \)`
+ for j in $headers; do
+ rel=${j#$path/source/}
+ comp=${rel%%/*}
+ if [ "$comp" = "$rel" ]; then
+ comp=$i
+ fi
+ mkdir -p "$INCLUDEDIR/msp/$comp"
+ ln -sf $j "$INCLUDEDIR/msp/$comp/"
+ done
sources="$sources `find $path/source \( -name windows -prune \) -o \( -name '*.cpp' -print \)`"
fi
done
exit 1
fi
-for i in "$INCLUDEDIR/msp/"*/unix; do
- CFLAGS="$CFLAGS -iquote $i -iquote ${i%/unix}"
+echo "Compiling builder-stage1. This may take several minutes."
+objects=""
+for i in $sources; do
+ obj=`mktemp --tmpdir=temp/bootstrap XXXXXX.o`
+ dir=${i%/*}
+ dir=${dir%/unix}
+ flags="$CFLAGS"
+ if [ -d "$dir/unix" ]; then
+ flags="$flags -iquote $dir -iquote $dir/unix"
+ fi
+ g++ -c $i -o $obj $flags
+ objects="$objects $obj"
done
+g++ $objects -o builder-stage1 $LIBS
+
+if [ "$KEEP_TEMP" != "yes" ]; then
+ echo "Cleaning up"
+ rm -r temp/bootstrap
+fi
-echo "Compiling builder-stage1. This may take several minutes."
-g++ $sources -o builder-stage1 $CFLAGS $LIBS
echo "Using builder-stage1 to compile builder."
ARGS=
if [ "$PREFIX" ]; then