wesnoth/utils/mp-server/update_server
Gunter Labes 4378124f3f turn library checks off in scons...
...and add some more options for a less noise compilation
2008-03-29 01:12:29 +00:00

82 lines
2.2 KiB
Bash
Executable File

#!/bin/sh
if [ $# -gt 2 -o $# -lt 1 ]; then
echo "Syntax: $0 <server version> [<revision>]"
exit 1
fi
SERVER=$1
SERVERBASE=$HOME/servers/$SERVER
BUILD=$HOME/servers/builds
SOURCE=$HOME/source
SOCKET=$SERVERBASE/build/var/run/socket
if ! [ -d $SERVERBASE ]; then
echo "$SERVER server not found."
exit 1
fi
if ! [ -d $SOURCE ]; then
echo "$SOURCE not found."
exit 1
fi
# only really needed on server.wesnoth.org
CXXFLAGS="$CXXFLAGS -I$HOME/tools/include"
LDFLAGS="$LDFLAGS -L$HOME/tools/lib"
case $SERVER in
1.2 ) cd $SOURCE/1.2 || exit 1
CXXFLAGS="$CXXFLAGS -ggdb3"
;;
1.4 ) cd $SOURCE/1.4 || exit 1
CXXFLAGS="$CXXFLAGS -ggdb3 -DNUM_SHARDS=7"
#SCONS=yes
;;
* ) cd $SOURCE/trunk || exit 1
CXXFLAGS="$CXXFLAGS -ggdb3 -DNUM_SHARDS=7 -O0"
SCONS=yes
;;
esac
REVISION=""
if [ "$2" != "" ]; then
REVISION="-r $2"
fi
echo -n 'svn update... '
svn up $REVISION > /dev/null
rev=$(svnversion -n src/)
echo "to $rev"
if [ "$rev" == "" ]; then
echo "No revision information found."
exit 1
fi
# reminder for local changes
#svn status
DIR=wesnothd-svn-${rev}_$SERVER
mkdir -p $BUILD/$DIR
if [ "$SCONS" == "yes" ]; then
mkdir -p $BUILD/$DIR/var/run
CXXFLAGS=$CXXFLAGS LDFLAGS=$LDFLAGS scons install-wesnothd prefix=$BUILD/$DIR fifodir=$BUILD/$DIR/var/run raw_sockets=1 profile=1 fribidi=0 python=0 prereqs=0 localedir= prefsdir= | tee $BUILD/$DIR/scons.log || exit 1
echo "adding '$SERVER' suffix..."
mv $BUILD/$DIR/bin/wesnothd $BUILD/$DIR/bin/wesnothd-$SERVER
else
echo 'autogen.sh and configure...'
./autogen.sh > $BUILD/$DIR/autogen.log
./configure --prefix=$BUILD/$DIR --program-suffix=-$SERVER --enable-server --enable-raw-sockets --disable-game --with-fifodir=$BUILD/$DIR/var/run --disable-nls --enable-lite --enable-profile --with-boost=$HOME/tools > $BUILD/$DIR/configure.log CXXFLAGS=$CXXFLAGS LDFLAGS=$LDFLAGS || exit 1
make clean > /dev/null
echo 'make...'
make > $BUILD/$DIR/make.log || exit 1
echo 'make install...'
make install > $BUILD/$DIR/install.log || exit 1
fi
cd $SERVERBASE
if [ -p $SOCKET ]; then
rm -f oldbuild
mv build oldbuild
else #the server under build has never been started, keep the oldbuild link to the (currently) running server
rm -f build
fi
ln -s ../builds/$DIR/ build