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