#!/bin/sh

# run to generate needed files not in Git repository

# NB: if you run this file with AUTOMAKE, AUTOCONF, etc. environment
# variables set, you *must* run "configure" with the same variables
# set. this is because "configure" will embed the values of these variables
# into the generated Makefiles, as @AUTOMAKE@, @AUTOCONF@ etc. and it will
# trigger regeneration of configuration state using those programs when any
# of Makefile.am etc. change.

run() {
	echo "Running $1 ..."
	$1
}

set -e

ACLOCAL=${ACLOCAL:-aclocal}
AUTOHEADER=${AUTOHEADER:-autoheader}
AUTOMAKE=${AUTOMAKE:-automake}
AUTOCONF=${AUTOCONF:-autoconf}

if $AUTOMAKE --version | grep -q " 1.4$"
	then
	echo ""
	echo "Automake 1.4 not supported. please set \$AUTOMAKE"
	echo "to point to a newer automake, or upgrade."
	echo ""
	exit 1
fi

if test -n "$1"; then
	echo "autogen.sh doesn't take any options" >&2
	exit 1
fi

libtoolize --automake -c
run "$ACLOCAL -I m4"
run $AUTOHEADER
run "$AUTOMAKE --foreign --add-missing --copy"
run $AUTOCONF
