#!/bin/sh if [ $# -gt 3 -o $# -lt 1 ]; then echo "Syntax: $0 [-c] []" >&2 exit 1 fi if [ "$1" = "-c" ]; then echo "building campaignd..." TYPE=campaignd shift else echo "building wesnothd..." TYPE=wesnothd fi SERVER=$1 SERVERBASE=$HOME/$TYPE/$SERVER if [ $TYPE = wesnothd ]; then SERVERBASE=$HOME/servers/$SERVER fi SOURCE=$HOME/source SOCKET=$SERVERBASE/build/var/run/socket if ! [ -d $SERVERBASE ]; then echo "$SERVER server not found." >&2 exit 1 fi if ! [ -d $SOURCE ]; then echo "$SOURCE not found." >&2 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 -DBANDWIDTH_MONITOR" #SCONS=yes ;; trunk ) cd $SOURCE/trunk || exit 1 CXXFLAGS="$CXXFLAGS -ggdb3 -DNUM_SHARDS=7 -O0 -DBANDWIDTH_MONITOR" SCONS=yes ;; * ) cd $SOURCE/trunk || exit 1 CXXFLAGS="$CXXFLAGS -ggdb3 -DNUM_SHARDS=7 -DBANDWIDTH_MONITOR" SCONS=yes ;; esac if [ $TYPE = campaignd ]; then CXXFLAGS="$CXXFLAGS -ggdb3 -pg" LDFLAGS="$LDFLAGS -pg" SCONS="no" if [ "$SERVER" = "trunk" ]; then SCONS="yes" fi fi REVISION="" if [ "$2" != "" ]; then REVISION="-r $2" fi echo -n 'svn update... ' svn up $REVISION > /dev/null rev=$(svnversion -cn src/ | cut -d: -f2) echo "to $rev" if [ "$rev" = "" ]; then echo "No revision information found." >&2 exit 1 fi # reminder for local changes #svn status DIR=$TYPE-svn-${rev}_$SERVER BUILD=$HOME/$TYPE/builds/$DIR if [ $TYPE = wesnothd ]; then BUILD=$HOME/servers/builds/$DIR fi set -x mkdir -p $BUILD if [ "$SCONS" = "yes" ]; then if [ $TYPE = wesnothd ]; then BUILD_FLAGS="fifodir=$BUILD/var/run raw_sockets=1 forum_user_handler=1" fi mkdir -p $BUILD/var/run # need to remove .scons-option-cache when parameters get removed! CXXFLAGS="$CXXFLAGS" LDFLAGS="$LDFLAGS" scons install-$TYPE prefix=$BUILD program_suffix=-$SERVER $BUILD_FLAGS profile=0 fribidi=0 python=0 localedir= prefsdir= > $BUILD/scons.log || exit 1 # boostdir=$HOME/tools/include boostlibdir=$HOME/tools/lib boost_suffix=-mt else if [ $TYPE = wesnothd ]; then BUILD_FLAGS="--enable-server --enable-raw-sockets --with-fifodir=$BUILD/var/run" else BUILD_FLAGS="--enable-campaign-server" fi #echo 'autogen.sh and configure...' ./autogen.sh > $BUILD/autogen.log CXXFLAGS="$CXXFLAGS" LDFLAGS="$LDFLAGS" ./configure --prefix=$BUILD --program-suffix=-$SERVER $BUILD_FLAGS --disable-game --disable-nls --enable-lite --with-boost=$HOME/tools > $BUILD/configure.log || exit 1 make clean > /dev/null #echo 'make...' make > $BUILD/make.log || exit 1 #echo 'make install...' make install > $BUILD/install.log || exit 1 fi # remove the man pages rm -rf $BUILD/share/ cd $SERVERBASE if [ -p $SOCKET -o $TYPE = campaignd ]; 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 cd $HOME/bin || exit 1 ln -sf $BUILD/bin/$TYPE-$SERVER $TYPE-$SERVER set +x