mirror of
https://github.com/wesnoth/wesnoth
synced 2025-04-27 21:29:39 +00:00
131 lines
3.2 KiB
Bash
Executable File
131 lines
3.2 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
if [ $# -gt 3 -o $# -lt 1 ]; then
|
|
echo "Syntax: $0 [-c] <server version> [<revision>]" >&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
|
|
|
|
SCONS=yes
|
|
case $SERVER in
|
|
1.2 ) cd $SOURCE/1.2 || exit 1
|
|
CXXFLAGS="$CXXFLAGS -ggdb3"
|
|
SCONS=no
|
|
;;
|
|
1.4 ) cd $SOURCE/1.4 || exit 1
|
|
CXXFLAGS="$CXXFLAGS -ggdb3 -DNUM_SHARDS=7 -DBANDWIDTH_MONITOR"
|
|
SCONS=no
|
|
;;
|
|
1.6 ) cd $SOURCE/1.6 || exit 1
|
|
CXXFLAGS="$CXXFLAGS -ggdb3 -DNUM_SHARDS=7 -DBANDWIDTH_MONITOR"
|
|
;;
|
|
trunk ) cd $SOURCE/trunk || exit 1
|
|
CXXFLAGS="$CXXFLAGS -ggdb3 -DNUM_SHARDS=7 -O0 -DBANDWIDTH_MONITOR"
|
|
;;
|
|
* ) cd $SOURCE/trunk || exit 1
|
|
CXXFLAGS="$CXXFLAGS -ggdb3 -DNUM_SHARDS=7 -DBANDWIDTH_MONITOR"
|
|
;;
|
|
esac
|
|
if [ $TYPE = campaignd ]; then
|
|
CXXFLAGS="$CXXFLAGS -ggdb3 -pg"
|
|
LDFLAGS="$LDFLAGS -pg"
|
|
[ "$SERVER" = "1.4" ] && SCONS=no
|
|
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"
|
|
case $(hostname) in
|
|
gonzo.dicp.de)
|
|
BUILD_FLAGS="fifodir=$BUILD/var/run raw_sockets=1 boostdir=$HOME/tools/include boostlibdir=$HOME/tools/lib boost_suffix=-mt"
|
|
;;
|
|
basilic)
|
|
BUILD_FLAGS="fifodir=$BUILD/var/run raw_sockets=1"
|
|
;;
|
|
esac
|
|
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
|
|
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
|