dnl
dnl Process this file with autoconf to produce a configure script
dnl

AC_PREREQ(2.13)
AC_INIT(build/rules.mk.in)

AC_CONFIG_HEADER(include/private/apu_config.h)
AC_CONFIG_AUX_DIR(build)

AC_PROG_CC
AC_PROG_AWK
AC_CHECK_PROG(RM, rm, rm)

dnl
dnl 1. Find the APR includes directory and (possibly) the source (base) dir.
dnl 2. Determine what DBM backend type to use.
dnl
APU_FIND_APR
APU_CHECK_DBM

dnl
dnl compute the top directory of the build
dnl note: this substitution is needed for LIBTOOL
dnl
top_builddir="`cd $srcdir ; pwd`"
AC_SUBST(top_builddir)

dnl
dnl prep libtool
dnl
echo "performing libtool configuration..."
AC_PROG_LIBTOOL

dnl
dnl set up the compilation flags and stuff
dnl
INCLUDES="-I\$(top_builddir)/include/private -I\$(top_builddir)/include -I$APR_INCLUDES"

dnl
dnl grab flags from APR.
dnl ### APR doesn't have "nice" names for its exports (yet), but it isn't
dnl ### a problem to deal with them right here
dnl
. "$APR_SOURCE_DIR/APRVARS"
APR_EXPORT_CPPFLAGS="$EXTRA_CPPFLAGS"
APR_EXPORT_CFLAGS="$EXTRA_CFLAGS"
APR_EXPORT_LIBS="$EXTRA_LIBS"

dnl
dnl Prep all the flags and stuff for compilation and export to other builds
dnl
CFLAGS="$CFLAGS $INCLUDES $APR_EXPORT_CFLAGS $APR_EXPORT_CPPFLAGS"
LIBS="$LIBS $APR_EXPORT_LIBS"

AC_SUBST(APRUTIL_EXPORT_LIBS)

dnl
dnl BSD/OS (BSDi) needs to use a different include syntax in the Makefiles
dnl
case "$host_alias" in
*bsdi*)
    INCLUDE_RULES=".include \"$top_builddir/build/rules.mk\""
    ;;
*)
    INCLUDE_RULES="include $top_builddir/build/rules.mk"
    ;;
esac
AC_SUBST(INCLUDE_RULES)

if test -d ./test; then
    test_Makefile="test/Makefile"
fi

dnl
dnl everthing is done. 
AC_OUTPUT([
	Makefile
	export_vars.sh
	build/Makefile
	build/rules.mk
	include/private/apu_select_dbm.h
        include/apu.h
	buckets/Makefile
	crypto/Makefile
	dbm/Makefile
	dbm/sdbm/Makefile
	encoding/Makefile
	hooks/Makefile
	uri/Makefile
	xml/Makefile
	$test_Makefile
	])
