#! /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}

# N.B. libffi 3.0.11 bumps shared library to major version 6.  Squeeze and
# Wheezy both use version 5, so to avoid dependency complications we'll cap
# the version at 3.0.10.

rebuild () {
    tar xzf libffi-3.0.10.tar.gz
    cd libffi-3.0.10
    ./configure --prefix=/usr --disable-static --enable-portable-binary
    make
    strip -R .note -R .comment */.libs/libffi.so.5
    mkdir -p ../libffi5/lib
    cp */.libs/libffi.so.5 ../libffi5/lib/
    cd ..
    rm -rf libffi-3.0.10
}

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
