dnl Process this file with autoconf to produce a configure script.
dnl May need to run automake && aclocal first

AC_PREREQ(2.57)
AC_INIT(gramps, 1.1.0, gramps-bugs@lists.sourceforge.net)
AC_CONFIG_SRCDIR(src/gramps.py)
AM_INIT_AUTOMAKE(1.6.3)
RELEASE=0.CVS$(head -c 10 ${srcdir}/ChangeLog | tr -d '-')
dnl RELEASE=1

VERSIONSTRING=$VERSION
if test x"$RELEASE" != "x"
then
  VERSIONSTRING="$VERSION-$RELEASE"
fi

AC_SUBST(RELEASE)
AC_SUBST(VERSIONSTRING)

AC_PATH_PROG(MSGFMT, msgfmt)
AC_PATH_PROG(MSGCONV, msgconv)
AC_PATH_PROG(ICONV, iconv)

LANGUAGES="hu zh_CN cs da_DK de es fr it nb nl no pl pt_BR ro ru sv eo" 
AC_SUBST(LANGUAGES)

DISTLANGS=
POFILES=
MOFILES=
for lang in $LANGUAGES; do
 POFILES="$POFILES $lang.po"
 MOFILES="$MOFILES $lang.mo"
done
AC_SUBST(POFILES)
AC_SUBST(MOFILES)

dnl Checks for programs.  
dnl We first only check for python >= 2.2
AM_PATH_PYTHON(2.2)

dnl override automatic python detection with our own place
pythondir=\${prefix}/share
pyexecdir=\${prefix}/share
pkgpythondir=\${prefix}/share/\${PACKAGE}
pkgpyexecdir=\${prefix}/share/\${PACKAGE}

AC_PATH_PROG(BINSH, sh)
AC_PATH_PROG(ZIP, zip)

AC_PROG_CC

dnl Check for programs

AC_CHECK_PROG(HAVE_PKG_CONFIG, pkg-config, "YES", "NO")
GNOMEINC=`pkg-config --cflags gnome-vfs-module-2.0`
GNOMELIB=`pkg-config --libs gnome-vfs-module-2.0`

pygtk_require="
try:
    import pygtk
    pygtk.require('2.0')
except ImportError:
    pass

def out(str):
    f = open('conftest.out', 'w')
    f.write(str)
    f.close()
"

dnl Check if python bindings for gtk are installed

AC_MSG_CHECKING(Python bindings for gtk)
cat > conftest.py <<EOF
$pygtk_require
try:
    import gobject
    out("YES")
except ImportError:
    out("No")
EOF
$PYTHON conftest.py
has_pygtk=`cat conftest.out`
rm -f conftest.out conftest.py
if test YES != "$has_pygtk"
then
   AC_MSG_ERROR([

**** The python bindings for gtk 2.0 (pygtk2) could not be found.])
fi
AC_MSG_RESULT(ok)

AC_MSG_CHECKING(Python bindings for GNOME)
cat > conftest.py <<EOF
$pygtk_require
try:
    import gnome
    # Do not import gnome.ui, this can kill python if the
    # display cannot be opened.  Just search it.
    import imp
    imp.find_module('gnome/ui')
    out("YES")
except ImportError:
    out("NO")
EOF
$PYTHON conftest.py
has_pygnome=`cat conftest.out`
rm -f conftest.out conftest.py
if test YES != "$has_pygnome"
then
   AC_MSG_ERROR([
**** The python bindings for GNOME 2.0 (gnome-python2) could not be found.])
fi
AC_MSG_RESULT(ok)

AC_MSG_CHECKING(Python bindings for gconf)
cat > conftest.py <<EOF
$pygtk_require
try:
    import gconf
    out("YES")
except ImportError:
    import gnome.gconf
    out("YES")
except ImportError:
    out("NO")
EOF
$PYTHON conftest.py
has_gconf=`cat conftest.out`
rm -f conftest.out conftest.py
if test YES != "$has_gconf"
then
   AC_MSG_ERROR([
**** The python bindings for gconf (gnome-python2-gconf) could not be found.])
fi
AC_MSG_RESULT(ok)

AC_MSG_CHECKING(Python bindings for GNOME canvas)
cat > conftest.py <<EOF
$pygtk_require
try:
    # Do not import gnome.canvas, this can raise a RuntimeError if the
    # display cannot be opened.  Just search it.
    import imp
    imp.find_module('gnome/canvas')
    out("YES")
except ImportError:
    out("NO")
EOF
$PYTHON conftest.py
has_canvas=`cat conftest.out`
rm -f conftest.out conftest.py
if test YES != "$has_canvas"
then
   AC_MSG_ERROR([
**** The python bindings for GNOME canvas (gnome-python2-canvas) could not be found.])
fi
AC_MSG_RESULT(ok)

AC_MSG_CHECKING(Python bindings for GNOME VFS)
cat > conftest.py <<EOF
$pygtk_require
try:
    # Do not import gnome.canvas, this can raise a RuntimeError if the
    # display cannot be opened.  Just search it.
    import imp
    imp.find_module('gnome/vfs')
    out("YES")
except ImportError:
    out("NO")
EOF
$PYTHON conftest.py
has_vfs=`cat conftest.out`
rm -f conftest.out conftest.py
if test YES != "$has_vfs"
then
   AC_MSG_ERROR([
**** The python bindings for GNOME canvas (gnome-python2-vfs) could not be found.])
fi
AC_MSG_RESULT(ok)

AC_MSG_CHECKING(Python bindings for glade)
cat > conftest.py <<EOF
$pygtk_require
try:
    # Do not import gtk.glade, this can raise a RuntimeError if the
    # display cannot be opened.  Just search it.
    import imp
    imp.find_module('gtk/glade')
    out("YES")
except ImportError:
    out("NO")
EOF
$PYTHON conftest.py
has_pygtk=`cat conftest.out`
rm -f conftest.out conftest.py
if test YES != "$has_pygtk"
then
   AC_MSG_ERROR([

**** The python bindings for glade (pytgk2-libglade) could not be found.])
fi
AC_MSG_RESULT(ok)

dnl Checks for libraries.

dnl Checks for header files.

AC_CACHE_CHECK([for Python include directory],
 [gramps_cv_python_inc],
 [gramps_cv_python_inc=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_inc()" 2>/dev/null`])
AC_SUBST([PYTHON_CPPFLAGS], ["-I$gramps_cv_python_inc"])

dnl ====================================
dnl = Begin tests for scrollkeeper
dnl ====================================
AC_PATH_PROG(SK_CONFIG,scrollkeeper-config,no)
if test x$SK_CONFIG = xno; then
  AC_MSG_ERROR(Couldn't find scrollkeeper-config. Please install the scrollkeeper package: http://scrollkeeper.sourceforge.net)
fi
dnl ====================================
dnl = End tests for scrollkeeper
dnl ====================================

dnl ===================================
dnl Set localstatedir to /var/lib -- this is apparently not used 
dnl     by anything besides scrollkeeper in our setup
dnl ==================================
localstatedir=/var/lib

if test ${prefix} = "NONE" ; then
   GPREFIX="/usr/local"
else
   GPREFIX="${prefix}"
fi

dnl ======================================================
dnl == end of modern doc tests
dnl ======================================================
SCROLLKEEPER_BUILD_REQUIRED=0.3.5
AC_SUBST(SCROLLKEEPER_BUILD_REQUIRED)

AC_SUBST(GNOMEHELP)
AC_SUBST(GPREFIX)

AC_SUBST(GNOMEINC)
AC_SUBST(GNOMELIB)

AC_CONFIG_FILES([
Makefile 
src/Makefile
src/const.py
src/docgen/Makefile
src/filters/Makefile
src/plugins/Makefile
src/calendars/Makefile
src/data/Makefile
src/data/templates/Makefile
src/po/Makefile
doc/Makefile
doc/gramps-manual/Makefile
doc/gramps-manual/C/Makefile	
doc/gramps-manual/fr/Makefile	
doc/gramps-manual/ru/Makefile	
example/Makefile
example/gramps/Makefile
gramps.spec
gramps-mdk.spec
gramps.sh])
AC_OUTPUT