#!/usr/bin/env bash
set -x verbose #echo on
set -e #stop on error
#VERBOSE=-vvv
REVISION=${REVISION:-dev}
BAKEROOT=${BAKEROOT:-http://code.nsnam.org/bake}
rm -rf bake
hg clone ${BAKEROOT}
cd bake
# dce-ns3
./bake.py configure -e dce-ns3-${REVISION}
./bake.py download ${VERBOSE}
./bake.py build ${VERBOSE}
cd source/ns-3-dce
./test.py -r
rm -rf testpy-output
cd ../../
# dce-quagga + dce-ns3 (incrementally)
./bake.py configure -e dce-quagga-${REVISION} -e dce-ns3-${REVISION}
./bake.py download ${VERBOSE}
./bake.py build ${VERBOSE}
cd source/ns-3-dce
# some of examples are failed (due to lack of dce-linux)
./test.py -r -c unit
rm -rf testpy-output
cd ../../
# dce-quagga + dce-ns3 (clean build)
rm -rf source
./bake.py configure -e dce-quagga-${REVISION} -e dce-ns3-${REVISION}
./bake.py download ${VERBOSE}
./bake.py build ${VERBOSE}
cd source/ns-3-dce
# some of examples are failed (due to lack of dce-linux)
./test.py -r -c unit
rm -rf testpy-output
cd ../../
# dce-linux
rm -rf source
./bake.py configure -e dce-linux-${REVISION}
./bake.py download ${VERBOSE}
./bake.py build ${VERBOSE}
cd source/ns-3-dce
./test.py -r
rm -rf testpy-output
cd ../../
# dce-quagga + dce-linux (incrementally)
./bake.py configure -e dce-quagga-${REVISION} -e dce-linux-${REVISION}
./bake.py download ${VERBOSE}
./bake.py build ${VERBOSE}
cd source/ns-3-dce
./test.py -r
rm -rf testpy-output
cd ../../
# dce-quagga + dce-linux (clean build)
rm -rf source
./bake.py configure -e dce-quagga-${REVISION} -e dce-linux-${REVISION}
./bake.py download ${VERBOSE}
./bake.py build ${VERBOSE}
cd source/ns-3-dce
./test.py -r
rm -rf testpy-output
cd ../../
# dce-umip + dce-linux (intrementally)
./bake.py configure -e dce-umip-${REVISION} -e dce-linux-${REVISION}
./bake.py download ${VERBOSE}
./bake.py build ${VERBOSE}
cd source/ns-3-dce
./test.py -r
rm -rf testpy-output
cd ../../
# dce-umip + dce-linux (clean build)
rm -rf source
./bake.py configure -e dce-umip-${REVISION} -e dce-linux-${REVISION}
./bake.py download ${VERBOSE}
./bake.py build ${VERBOSE}
cd source/ns-3-dce
./test.py -r
rm -rf testpy-output
cd ../
NS3_CORE_DIR=`ls -d ns-3* |grep -E "ns-3-dev|ns-3\..*"|head -1`
cd $NS3_CORE_DIR
./waf uninstall
export INSTALLDIR=`pwd`/../../build
# optimized build with Ipv6AddressHelper::AssignWithoutAddress doens' work... (130603)
./waf configure -d optimized --prefix=$INSTALLDIR --enable-static
#./waf configure --prefix=$INSTALLDIR --enable-static
./waf clean
./waf
./waf install
cd ../../
cd source/ns-3-dce
./waf uninstall
./waf configure --prefix=`pwd`/../../build --enable-static --enable-opt --prefix=$INSTALLDIR --with-ns3=$INSTALLDIR --with-elf-loader=$INSTALLDIR/lib --enable-kernel-stack=`pwd`/../net-next-sim-2.6.36/arch
./waf clean
./waf
./waf install
./test.py -r
cd ../../