#!/bin/sh if [ $# -gt 2 -o $# -lt 1 ]; then echo "Syntax: $0 []" 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 case $SERVER in 1.2 ) cd $SOURCE/1.2 || exit 1 CXXFLAGS='-ggdb3 -pg' ;; 1.4 ) cd $SOURCE/1.4 || exit 1 CXXFLAGS='-ggdb3 -pg -DNUM_SHARDS=7' ;; * ) cd $SOURCE/trunk || exit 1 CXXFLAGS='-O0 -ggdb3 -pg -DNUM_SHARDS=7' ;; esac REVISION="" if [ "$2" != "" ]; then REVISION="-r $2" fi echo -n 'svn update... ' rev=$(svn up $REVISION | tail -n 1 | sed -e 's/[^0-9]//g') if [ "$rev" == "" ]; then echo "No revision information found." exit 1 fi # reminder for local changes echo "to $rev" svn status DIR=wesnothd-svn-${rev}_$SERVER mkdir $BUILD/$DIR 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 > $BUILD/$DIR/configure.log CXXFLAGS=$CXXFLAGS LDFLAGS='-pg' make clean > /dev/null echo 'make...' make > $BUILD/$DIR/make.log || exit 1 echo 'make install...' make install > $BUILD/$DIR/install.log || exit 1 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