#! /bin/bash

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

rebuild () {
    tar xzf gptfdisk-0.8.6.tar.gz
    cd gptfdisk-0.8.6
    # Static alternative using g++-2.95
#    bunzip2 -c ../gptfdisk-0.8.5-gpp2-patch.bz2 | patch -p1 -b
#    ed -s Makefile >/dev/null <<EOF
#/^\s*\\\$(CXX).* -o gdisk\$/
#s/(CXX)/(CC)/
#s/\$/ -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic -lm/
#w
#q
#EOF
    ed -s Makefile >/dev/null <<EOF
1,\$s/-D USE_UTF16//
1,\$s/-licuio -licuuc//
w
q
EOF
    make gdisk
    strip -R .note -R .comment gdisk
    mkdir -p ../gdisk/sbin
    cp gdisk ../gdisk/sbin/
    cd ..
    rm -rf gptfdisk-0.8.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
