dnl version 2.52 is required for Cygwin libtool support
AC_PREREQ(2.52)

dnl local vars to hold user's preferences --------------------------------
AC_INIT(source/headers/geos.h)
AC_CANONICAL_SYSTEM

dnl -- INTERFACE_CURRENT: current interface number
dnl -- INTERFACE_REVISION: revision of CURRENT interface
dnl -- INTERFACE_AGE: number of previous interfaces supported
INTERFACE_CURRENT=4
INTERFACE_REVISION=0
INTERFACE_AGE=2

dnl -- JTS_PORT: the version of JTS this release is bound to
JTS_PORT=1.4.1

dnl -- Version info for the CAPI
CAPI_INTERFACE_CURRENT=1
CAPI_INTERFACE_REVISION=0
CAPI_INTERFACE_AGE=0

VERSION_MAJOR=$(($INTERFACE_CURRENT-$INTERFACE_AGE))
VERSION_MINOR=$INTERFACE_AGE
VERSION_PATCH=$INTERFACE_REVISION
VERSION="$VERSION_MAJOR.$VERSION_MINOR.$VERSION_PATCH"

CAPI_VERSION_MAJOR=$(($CAPI_INTERFACE_CURRENT-$CAPI_INTERFACE_AGE))
CAPI_VERSION_MINOR=$CAPI_INTERFACE_AGE
CAPI_VERSION_PATCH=$CAPI_INTERFACE_REVISION
CAPI_VERSION="$CAPI_VERSION_MAJOR.$CAPI_VERSION_MINOR.$CAPI_VERSION_PATCH"

AM_INIT_AUTOMAKE(geos, $VERSION, no-define)
AC_CONFIG_HEADERS(source/headers/config.h)
AM_CONFIG_HEADER(source/headers/geos/platform.h)
AC_PROG_CC

dnl check for programs ----------------------------------------------------
AC_PROG_CXX
AC_ISC_POSIX

dnl use libtool ----------------------------------------------------------
AC_LIBTOOL_DLOPEN
# AC_LIBTOOL_WIN32_DLL
AC_PROG_LIBTOOL

dnl types checks ------------------------------------------------------

dnl Find a working 64bit integer

dnl function checks ------------------------------------------------------
AC_FUNC_CLOSEDIR_VOID
AC_FUNC_MEMCMP
AC_FUNC_STRFTIME
AC_FUNC_VPRINTF
AC_FUNC_ALLOCA
AC_HEADER_DIRENT
AC_HEADER_STDC
AC_CHECK_HEADERS(memory.h)
AC_CHECK_HEADERS(unistd.h)
AC_CHECK_HEADERS(ieeefp.h)
AC_CHECK_HEADERS(sys/file.h)
AC_CHECK_FUNCS(strchr memcpy)
AC_HEADER_STAT
AC_STRUCT_TM
AC_TYPE_SIZE_T
AC_C_CONST

dnl process enable switches ----------------------------------------------

dnl process with switches -------------------------------------------------

dnl check for libraries ---------------------------------------------------

dnl things to substitute in output ----------------------------------------
AC_SUBST(VERSION) 
AC_SUBST(VERSION_MAJOR)
AC_SUBST(VERSION_MINOR)
AC_SUBST(VERSION_PATCH)
AC_SUBST(INTERFACE_CURRENT)
AC_SUBST(INTERFACE_REVISION)
AC_SUBST(INTERFACE_AGE)
AC_SUBST(JTS_PORT)
AC_SUBST(CAPI_VERSION)
AC_SUBST(CAPI_VERSION_MAJOR)
AC_SUBST(CAPI_VERSION_MINOR)
AC_SUBST(CAPI_VERSION_PATCH)
AC_SUBST(CAPI_INTERFACE_CURRENT)
AC_SUBST(CAPI_INTERFACE_REVISION)
AC_SUBST(CAPI_INTERFACE_AGE)

dnl output stuff ----------------------------------------------------------

AC_OUTPUT(Makefile source/Makefile source/capi/Makefile source/geom/Makefile source/headers/Makefile source/headers/geos/Makefile tools/Makefile tools/geos-config macros/Makefile source/test/Makefile source/bigtest/Makefile doc/Makefile source/headers/geos/version.h doc/Doxyfile swig/Makefile swig/python/Makefile swig/python/tests/Makefile swig/python/tests/cases/Makefile VisualStudio/Makefile source/capi/geos_c.h)