#!/bin/bash

# Exit on any failure:
set -e

# Verbose:
set -x

if [ "$1" != "" ]; then
	BUILDCONFIG="$*"
fi

export MAKE="make -j3"
export CPPFLAGS="-DFAKELAG_CONFIGURABLE"

extras/build-tests/nix/select-config $BUILDCONFIG
# Read config.settings, this makes a couple of variables available to us.
. ./config.settings
if [ "$SSLDIR" != "" ]; then
	# In case we build local openssl/libressl
	export LD_LIBRARY_PATH="$SSLDIR/lib"
fi
./Config -quick || (tail -n 5000 config.log; echo '*** now tre:'; tail -n 5000 extras/tre-0.8.0-git/config.log; echo '** end of tre config.log **'; exit 1)
$MAKE
yes ''|make pem
make install

set +x
echo ""
echo "***********************************************"
echo "UnrealIRCd build & install successful."
echo "***********************************************"

if [[ "$OSTYPE" == "darwin"* ]]; then
	otool -L ~/unrealircd/bin/unrealircd
else
	ldd ~/unrealircd/bin/unrealircd
fi

if [ "$BUILDCONFIG" = "local-curl" ]; then
	# We broke the system significantly earlier that build tests
	# won't work (eg: 'git' is uninstallable). Don't bother
	# running the tests. I don't expect a 'local-curl' specific
	# bug anyway.
	exit 0
fi

if [[ "$OSTYPE" == "darwin"* ]]; then
	# 'rake' doesn't work. have to figure that one out..
	echo "Not running test on OS X for now"
	exit 0
fi

echo ""
echo ""
echo "Now running UnrealIRCd test framework..."
set -x
extras/build-tests/nix/run-tests
