AC_INIT(README)
AC_CANONICAL_SYSTEM
AM_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE(gtk-sharp, 0.14)
AM_MAINTAINER_MODE

AC_CHECK_TOOL(CC, gcc, gcc)
AC_PROG_CC
AM_PROG_CC_STDC
AC_PROG_INSTALL

dnl may require a specific autoconf version
dnl AC_PROG_CC_FOR_BUILD
dnl CC_FOR_BUILD not automatically detected
CC_FOR_BUILD=$CC
BUILD_EXEEXT=
if test "x$cross_compiling" = "xyes"; then
	CC_FOR_BUILD=cc
	BUILD_EXEEXT=""
fi
AC_SUBST(CC_FOR_BUILD)
AC_SUBST(HOST_CC)
AC_SUBST(BUILD_EXEEXT)

# Set STDC_HEADERS
AC_HEADER_STDC
AM_PROG_LIBTOOL

# not 64 bit clean in cross-compile
AC_CHECK_SIZEOF(void *, 4)

CFLAGS='-g -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes  -Wmissing-prototypes -Wnested-externs  -Wshadow -Wpointer-arith -Wno-cast-qual -Wcast-align -Wwrite-strings'

AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
if test "x$PKG_CONFIG" = "xno"; then
	AC_MSG_ERROR([You need to install pkg-config])
fi

dnl for use on the build system
dnl pkg-config is stupid
BUILD_GTK_CFLAGS=`$PKG_CONFIG --cflags gtk+-2.0`
BUILD_GTK_LIBS=`$PKG_CONFIG --libs gtk+-2.0`
AC_SUBST(BUILD_GTK_CFLAGS)
AC_SUBST(BUILD_GTK_LIBS)

PKG_PATH=
AC_ARG_WITH(crosspkgdir, [  --with-crosspkgdir=/path/to/pkg-config/dir],
	if test x$with_crosspkgdir = "x"; then
		if test -s $PKG_CONFIG_PATH; then
			PKG_PATH=$PKG_CONFIG_PATH
		fi
	else
		PKG_PATH=$with_crosspkgdir
		PKG_CONFIG_PATH=$PKG_PATH
		export PKG_CONFIG_PATH
	fi
)

PKG_CHECK_MODULES(MONO_DEPENDENCY, mono)

MONO=`which mono`
AC_SUBST(MONO)

## Versions of dependencies
GNOME_REQUIRED_VERSION=2.0.0
GTK_REQUIRED_VERSION=2.2.0
PKG_CHECK_MODULES(BASE_DEPENDENCIES, libgnomecanvas-2.0 >= $GNOME_REQUIRED_VERSION libgnomeui-2.0 >= $GNOME_REQUIRED_VERSION gtk+-2.0 >= $GTK_REQUIRED_VERSION gmodule-2.0 >= $GTK_REQUIRED_VERSION, enable_gnome=yes, enable_gnome=no)

if test "x$enable_gnome" = "xno"; then
	PKG_CHECK_MODULES(BASE_DEPENDENCIES, gtk+-2.0 >= $GTK_REQUIRED_VERSION gmodule-2.0 >= $GTK_REQUIRED_VERSION)
fi

GLADE_REQUIRED_VERSION=2.0.0
PKG_CHECK_MODULES(GLADE_DEPENDENCIES, libglade-2.0 >= $GLADE_REQUIRED_VERSION, enable_glade=yes, enable_glade=no)
if test "x$enable_glade" = "xyes"; then
	BASE_DEPENDENCIES_CFLAGS="$BASE_DEPENDENCIES_CFLAGS $GLADE_DEPENDENCIES_CFLAGS"
	BASE_DEPENDENCIES_LIBS="$BASE_DEPENDENCIES_LIBS $GLADE_DEPENDENCIES_LIBS"
fi

LIBGDA_REQUIRED_VERSION=0.90
PKG_CHECK_MODULES(LIBGDA_DEPENDENCIES, libgda >= $LIBGDA_REQUIRED_VERSION, enable_gda=yes, enable_gda=no)
enable_gnomedb=no
if test "x$enable_gda" = "xyes"; then
	BASE_DEPENDENCIES_CFLAGS="$BASE_DEPENDENCIES_CFLAGS $LIBGDA_DEPENDENCIES_CFLAGS"
	BASE_DEPENDENCIES_LIBS="$BASE_DEPENDENCIES_LIBS $LIBGDA_DEPENDENCIES_LIBS"

	PKG_CHECK_MODULES(LIBGNOMEDB_DEPENDENCIES, libgnomedb >= $LIBGDA_REQUIRED_VERSION, enable_gnomedb=yes, enable_gnomedb=no)
	if test "x$enable_gnomedb" = "xyes"; then
		BASE_DEPENDENCIES_CFLAGS="$BASE_DEPENDENCIES_CFLAGS $LIBGNOMEDB_DEPENDENCIES_CFLAGS"
		BASE_DEPENDENCIES_LIBS="$BASE_DEPENDENCIES_LIBS $LIBGNOMEDB_DEPENDENCIES_LIBS"
	fi
fi

RSVG_REQUIRED_VERSION=2.0.1
PKG_CHECK_MODULES(RSVG_DEPENDENCIES, librsvg-2.0 >= $RSVG_REQUIRED_VERSION, enable_rsvg=yes, enable_rsvg=no)
if test "x$enable_rsvg" = "xyes"; then
	BASE_DEPENDENCIES_CFLAGS="$BASE_DEPENDENCIES_CFLAGS $RSVG_DEPENDENCIES_CFLAGS"
	BASE_DEPENDENCIES_LIBS="$BASE_DEPENDENCIES_LIBS $RSVG_DEPENDENCIES_LIBS"
fi


AC_SUBST(BASE_DEPENDENCIES_CFLAGS)
AC_SUBST(BASE_DEPENDENCIES_LIBS)

AM_CONDITIONAL(ENABLE_GNOME, test "x$enable_gnome" = "xyes")
AM_CONDITIONAL(ENABLE_GLADE, test "x$enable_glade" = "xyes")
AM_CONDITIONAL(ENABLE_GDA, test "x$enable_gda" = "xyes")
AM_CONDITIONAL(ENABLE_GNOMEDB, test "x$enable_gnomedb" = "xyes")
AM_CONDITIONAL(ENABLE_RSVG, test "x$enable_rsvg" = "xyes")

AC_SUBST(CFLAGS)

AC_OUTPUT([
glue/Makefile
parser/Makefile
generator/Makefile
generator/gapi-codegen
glib/Makefile
pango/Makefile
atk/Makefile
art/Makefile
gdk/Makefile
gtk/Makefile
glade/Makefile
gnome/Makefile
gda/Makefile
gnomedb/Makefile
gconf/Makefile
gconf/GConf/Makefile
gconf/GConf.PropertyEditors/Makefile
gconf/tools/Makefile
gst/Makefile
gtkhtml/Makefile
rsvg/Makefile
sample/Makefile
sample/rsvg/Makefile
gtk-sharp.pc
parser/gapi.pc
parser/gapi-fixup
Makefile
])

echo "---"
echo "Configuration summary"
echo ""
echo "   * Installation prefix = $prefix"
echo ""
echo "   Optional assemblies included in the build:"
echo ""
echo "      * gnome-sharp.dll: $enable_gnome"
echo "      * glade-sharp.dll: $enable_glade"
echo "      * gda-sharp.dll: $enable_gda"
echo "      * gnomedb-sharp.dll: $enable_gnomedb"
echo "      * rsvg-sharp.dll: $enable_rsvg "
echo ""
echo "      NOTE: if any of the above say 'no' you may install the"
echo "            corresponding development packages for them, rerun"
echo "            autogen.sh to include them in the build."
echo ""
echo "---"