#! /bin/bash

trap "echo '*** BUILD FAILED! ***' 1>&2" ERR
set -ex -o pipefail
umask 022
export PATH='/bin:/usr/bin:/usr/local/bin'
export CFLAGS=${CFLAGS:--Os}
export CXXFLAGS=${CXXFLAGS:--Os}

rebuild () {
    tar xzf microdc2-0.15.6.tar.gz
    cd microdc2-0.15.6
    #bunzip2 -c ../microdc-0.11.0-symlinksafety-patch.bz2 | patch -p1 -b
    # FIXME: configure fails to detect libxml2 on Squeeze and Wheezy.
    ./configure --prefix=/usr --sysconfdir=/etc --disable-nls
    make
    rm -f src/microdc
    # Wheezy: need to add -ltinfo (static) also.
    # FIXME: libxml2 should not be static
    # Squeeze: linker bug causes bogus complaints about multiple definition
    # of xmalloc and xrealloc, have to add -Wl,-z -Wl,muldefs
    make -C src microdc2 READLINE_LIBS="-Wl,-Bstatic -lreadline -lncurses \
	    -Wl,-Bdynamic" LIBXML2_LIBS="-Wl,-Bstatic -lxml2 -Wl,-Bdynamic \
	    -lz -lm"
    strip -R .note -R .comment src/microdc2
    cp src/microdc2 ../microdc2/bin/
    cd ..
    rm -rf microdc2-0.15.6
}

while read FN; do
    eval "[ -e $FN ] || rebuild"
done < MANIFEST

ARCH=`ipkg -V 0 print_architecture | tail -n 1 | cut -f2 -d' '`
for CTRLFILE in */CONTROL/control; do
    sed -i -e "s/__ARCH__/$ARCH/g" $CTRLFILE
    sudo ipkg-build -o root -g root `dirname $CTRLFILE`/..
done
