#!/bin/sh
set -e

error() {
	echo "$*" 1>&2
}


echo "HOME: ${HOME}"
if [ ! -d "${HOME}" ]; then
  HOME="$(mktemp -d)"
  error "created stub HOME ${HOME}"
fi
export HOME
mkdir -p "${HOME}/.config"
ls -lhad "${HOME}"

dpkg-source --before-build `pwd`
PCDEPS="jack flac vorbis vorbisenc vorbisfile ogg libjpeg libpng zlib"

CPPFLAGS=""
arch="$(dpkg-architecture -qDEB_HOST_ARCH)"

case "${arch}" in
	ppc64el)
		CPPFLAGS="${CPPFLAGS} -mabi=ieeelongdouble"
		;;
	armhf)
		if test -e /proc/cpuinfo && grep -qi neon /proc/cpuinfo; then
			CPPFLAGS="${CPPFLAGS} -march=armv7-a+fp+neon"
		else
			error "no NEON support detected..."
		fi
		;;
	arm64)
		CONFIG=Debug
		;;
esac

: "${CONFIG:=Release}"

echo CPPFLAGS=${CPPFLAGS}
echo "CONFIG=${CONFIG}"


# resave the project with the system module-paths
xvfb-run -a Projucer --resave extras/UnitTestRunner/UnitTestRunner.jucer
# build the UnitTests
make -C extras/UnitTestRunner/Builds/LinuxMakefile \
	CPPFLAGS="${CPPFLAGS}" \
	CFLAGS="$(pkg-config --cflags ${PCDEPS})" \
	LDFLAGS="$(pkg-config --libs ${PCDEPS})" \
	${CONFIG:+CONFIG=${CONFIG}} \
	V=1
# run the UnitTests
./extras/UnitTestRunner/Builds/LinuxMakefile/build/UnitTestRunner
