#!/bin/sh
URL="https://www.unrealircd.org/files/curl-latest.tar.gz"
OUTF="curl-latest.tar.gz"
OUTD="curl-latest"
UNREALDIR="`pwd`"
PRIVATELIBDIR="$1"

if [ "x$1" = "x" ]; then
	echo "You should (no longer) run this program directly."
	echo "It will be invoked by ./Config"
	exit 1
fi

if [ ! -f src/parse.c ]; then
	if [ -f ../src/parse.c ]; then
		cd ..
	else
		echo "Please run this program from your UnrealIRCd directory"
		echo "(usually $HOME/unrealircd-5.0.X or something like that)"
		exit 1
	fi
fi

wget --version 1>/dev/null 2>&1
if [ "$?" = 0 ]; then
	FETCHER="wget"
else
	fetch --version 1>/dev/null 2>&1
	if [ "$?" = 0 ]; then
		FETCHER="fetch"
	else
		lynx --version 1>/dev/null 2>&1
		if [ "$?" = 0 ]; then
			FETCHER="lynx"
		else
			echo "ERROR: unable to find wget/fetch/lynx, please install at least one of these programs"
			exit 1
		fi
	fi
fi

if [ ! -d tmp ]; then
	mkdir tmp || exit 1
fi

cd tmp || exit 1

rm -f "$OUTF"

if [ "$FETCHER" = "wget" ]; then
	wget -O "$OUTF" "$URL"
elif [ "$FETCHER" = "lynx" ]; then
	lynx -dump "$URL" >"$OUTF"
elif [ "$FETCHER" = "fetch" ]; then
	cd tmp #todo: find out the cmd line parameter ;)
	fetch "$URL"
fi

if [ "$?" != 0 ]; then
	echo "ERROR: Something went wrong while trying to download $URL"
	exit 1
fi

rm -rf "$OUTD" # remove old directory prior to extracting
tar xzf "$OUTF" || exit 1


if [ "`eval echo -n 'a'`" = "-n a" ] ; then
        c="\c"
else
        n="-n"
fi

# We assume curl has been packaged in a way it will extract to "$OUTD"/
cd "$OUTD" || exit 1

echo "Building and installing libcurl"
./configure --prefix=$UNREALDIR/extras/curl --libdir=$PRIVATELIBDIR --enable-shared --with-openssl
make || exit 1
rm -f "$PRIVATELIBDIR/"libcurl*
make install || exit 1