#! /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 xjf tightvnc-1.3.10_unixsrc.tar.bz2
    cd vnc_unixsrc
    bunzip2 -c ../tightvnc-1.3.9-dietpc-patch.bz2 | patch -p1 -b
    xmkmf -a
    for DIR in libvncauth vncpasswd vncviewer; do
	ed -s $DIR/Makefile >/dev/null <<EOF
/CDEBUGFLAGS =/d
i
      CDEBUGFLAGS = $CFLAGS -fno-strict-aliasing
.
w
q
EOF
    done
    make -C libvncauth
    make -C vncpasswd
    make -C vncviewer XAWLIB=/usr/lib/libXaw.so.6 XPMLIB= SMLIB= ICELIB=
    strip -R .note -R .comment vncpasswd/vncpasswd vncviewer/vncviewer
    mkdir -p ../vncpasswd/bin ../vncviewer/bin
    cp vncpasswd/vncpasswd ../vncpasswd/bin/
    cp vncviewer/vncviewer ../vncviewer/bin/
    cd ..
    rm -rf vnc_unixsrc
}

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
