# Process this file with autoconf to produce a configure script.
AC_INIT(camel)
AM_CONFIG_HEADER(config.h)

cflags_set=${CFLAGS+set}

EVOLUTION_MAJOR_VERSION=0
EVOLUTION_MINOR_VERSION=0
EVOLUTION_MICRO_VERSION=1
VERSION=$EVOLUTION_MAJOR_VERSION.$EVOLUTION_MINOR_VERSION.$EVOLUTION_MICRO_VERSION
PACKAGE=evolution

AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
AC_SUBST(VERSION)


dnl Initialize libtool
AM_PROG_LIBTOOL

dnl Initialize maintainer mode
AM_MAINTAINER_MODE

AC_CANONICAL_HOST

AM_ACLOCAL_INCLUDE(macros)
GNOME_INIT(capplet)
GNOME_COMPILE_WARNINGS
AC_ISC_POSIX
AC_PROG_CC
AC_PROG_CPP
AM_PROG_LEX
AC_PROG_YACC
AC_STDC_HEADERS
AC_ARG_PROGRAM
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET

AC_PATH_PROG(SENDMAIL, sendmail, /usr/sbin/sendmail, /usr/sbin:/usr/lib)
AC_DEFINE_UNQUOTED(SENDMAIL_PATH, "$SENDMAIL")

AC_MSG_CHECKING(system mail directory)
if test -d /var/mail; then
	system_mail_dir=/var/mail
else
	system_mail_dir=/var/spool/mail
fi
AC_MSG_RESULT($system_mail_dir)
AC_DEFINE_UNQUOTED(SYSTEM_MAIL_DIR, "$system_mail_dir")


ALL_LINGUAS="el fr gl ja no ru sv tr uk"

AM_GNOME_GETTEXT

GNOME_X_CHECKS

dnl * Time zone stuff
AC_CACHE_CHECK(for timezone variable, ac_cv_var_timezone,
	AC_TRY_COMPILE([
		#include <time.h>
	], [
		timezone = 1;
	], ac_cv_var_timezone=yes, ac_cv_var_timezone=no))
if test $ac_cv_var_timezone = yes; then
	AC_DEFINE(HAVE_TIMEZONE)
else
	AC_CACHE_CHECK(for tm_gmtoff in struct tm, ac_cv_struct_tm_gmtoff,
		AC_TRY_COMPILE([
			#include <time.h>
			], [
			struct tm tm;
			tm.tm_gmtoff = 1;
			], ac_cv_struct_tm_gmtoff=yes, ac_cv_struct_tm_gmtoff=no))
	if test $ac_cv_struct_tm_gmtoff = yes; then
		AC_DEFINE(HAVE_TM_GMTOFF)
	else
		AC_ERROR(unable to find a way to determine timezone)
	fi
fi

AC_CHECK_FUNCS(mkstemp)

dnl **************************************************
dnl * pas-backend-file stuff.
dnl * check for db_185.h.  if it's there, we use it.
dnl * otherwise, we use db.h (since it'll be 185).
dnl **************************************************
AC_CHECK_HEADERS(db_185.h)

dnl **************************************************
dnl * ldap related stuff.
dnl **************************************************
AC_CHECK_LIB(lber, ber_get_tag, LDAP_LIBS="-llber")
if test x$ac_cv_lib_lber_ber_get_tag = xyes; then
AC_CHECK_LIB(ldap, ldap_open, LDAP_LIBS="-lldap $LDAP_LIBS", ,-llber)
fi
if test x$ac_cv_lib_ldap_ldap_open = xyes; then
	AC_DEFINE(HAVE_LDAP)
	AC_SUBST(LDAP_LIBS)
else
	AC_MSG_WARN(no ldap support present)
fi
AM_CONDITIONAL(ENABLE_LDAP, test x$ac_cv_lib_ldap_ldap_open = xyes)

dnl **************************************************
dnl * Posix thread support
dnl **************************************************

have_pthread=false

AC_ARG_WITH(threads, [--with-threads include threads support],[
        if test x$withval = xyes; then
              test_thread=true
        else
              test_thread=false
	fi
],[
	test_thread=false
])

if $test_thread; then
     GNOME_PTHREAD_CHECK
     if test "x$PTHREAD_LIB" = "x" ; then
         have_pthread=false
     else
         have_pthread=true
     fi
else
     have_pthread=false
fi

AM_CONDITIONAL(ENABLE_THREADS, $have_pthread)


dnl **************************************************
dnl * Print check
dnl **************************************************
AC_MSG_CHECKING(for GnomePrint libraries >= 0.10)
if gnome-config --libs print > /dev/null 2>&1; then 
    vers=`gnome-config --modversion print | sed -e "s/gnome-print-//" | \
        awk 'BEGIN { FS = "."; } { print $1 * 1000 + $2;}'`
    if test "$vers" -ge 10; then
        AC_MSG_RESULT(found)
    else
        AC_MSG_ERROR(You need at least GNOME print 0.10 for this version of Gnumeric)
    fi
else
    AC_MSG_ERROR(Did not find GnomePrint installed)
fi
GNOME_PRINT_LIBS=`gnome-config --libs print`
GNOME_PRINT_CFLAGS=`gnome-config --cflags print`
AC_SUBST(GNOME_PRINT_LIBS)
AC_SUBST(GNOME_PRINT_CFLAGS)

dnl **************************************************
dnl * ORBit support
dnl **************************************************
dnl GNOMEGNORBA_LIBS="$GNOMEGNORBA_LIBS"
dnl AC_SUBST(GNOMEGNORBA_LIBS)


dnl ******************************
dnl Check for Bonobo
dnl ******************************
AC_MSG_CHECKING(for Bonobo > 0.5)
if gnome-config --libs bonobo > /dev/null 2>&1; then
	vers=`gnome-config --modversion bonobo`
        echo $vers
	case $vers
	in
	    bonobo-0.[[012345]]) bonobo_ok=false ;;
	    *) bonobo_ok=true ;;
	esac
else
	bonobo_ok=false
fi

if $bonobo_ok; then
	AC_MSG_RESULT(found)
else
	AC_MSG_ERROR(Bonobo 0.5 is required to compile Evolution)
fi


dnl ******************************
dnl LibGlade checking
dnl ******************************
AC_MSG_CHECKING(For Glade libraries)
if gnome-config --libs libglade > /dev/null 2>&1; then 
    AC_MSG_RESULT(found)
else
    AC_MSG_ERROR(Did not find libGlade installed)
fi

dnl ******************************
dnl libunicode checking
dnl ******************************
AC_MSG_CHECKING(For libunicode)
if unicode-config --libs > /dev/null 2>&1; then 
    UNICODE_LIBS=`unicode-config --libs`
    UNICODE_CFLAGS=`unicode-config --cflags`
    AC_SUBST(UNICODE_LIBS)
    AC_SUBST(UNICODE_CFLAGS)
    AC_MSG_RESULT(found)
else
    AC_MSG_ERROR(libunicode not found)
fi

dnl ******************************
dnl GdkPixbuf checking
dnl ******************************
AC_MSG_CHECKING(For Gdkpixbuf libraries)
if gnome-config --libs gdk_pixbuf gnomecanvaspixbuf > /dev/null 2>&1; then 
    AC_MSG_RESULT(found)
else
    AC_MSG_ERROR(Did not find gdkpixbuf installed)
fi

dnl
dnl Notice that this is a hack, and we wont be able to use this forever, but
dnl at least for some time
dnl
if $have_pthread; then 
 	THREADS_LIBS="$PTHREAD_LIB `glib-config --libs gthread`"
	THREADS_CFLAGS="`glib-config --cflags gthread`"
else
	THREADS_LIBS=""
	THREADS_CFLAGS=""
fi

GLIB_CFLAGS="`glib-config --cflags`"
GLIB_LIBS="`glib-config --libs`"

AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS)


EXTRA_GNOME_LIBS="`gnome-config --libs libglade gdk_pixbuf gnomecanvaspixbuf gnomeui ` $THREADS_LIBS `unicode-config --libs`"
EXTRA_GNOME_CFLAGS="`gnome-config --cflags libglade gdk_pixbuf gnomecanvaspixbuf gnomeui ` $THREADS_CFLAGS `unicode-config --cflags`"

AC_SUBST(EXTRA_GNOME_LIBS)
AC_SUBST(EXTRA_GNOME_CFLAGS)


BONOBO_GNOME_LIBS="`gnome-config --libs bonobo libglade gdk_pixbuf gnomecanvaspixbuf gnomeui`"
BONOBO_GNOME_CFLAGS="`gnome-config --cflags bonobo libglade gdk_pixbuf gnomecanvaspixbuf gnomeui `"
AC_SUBST(BONOBO_GNOME_LIBS)
AC_SUBST(BONOBO_GNOME_CFLAGS)

BONOBO_HTML_GNOME_LIBS="`gnome-config --libs bonobo libglade gdk_pixbuf gtkhtml gnomecanvaspixbuf gnomeui ` $THREAD_LIBS"
BONOBO_HTML_GNOME_CFLAGS="`gnome-config --cflags bonobo libglade gdk_pixbuf gtkhtml gnomecanvaspixbuf gnomeui ` $THREAD_CFLAGS"
AC_SUBST(BONOBO_HTML_GNOME_LIBS)
AC_SUBST(BONOBO_HTML_GNOME_CFLAGS)

dnl ******************************
dnl GtkHTML checking
dnl ******************************

AC_MSG_CHECKING(for GtkHTML)
if gnome-config --libs gtkhtml > /dev/null 2>&1; then
	gtkhtml_ok=true
else
	gtkhtml_ok=false
fi

if $gtkhtml_ok; then
	AC_MSG_RESULT(found)
else
	AC_MSG_ERROR(GtkHTML is required to compile Evolution)
fi

GTKHTML_CFLAGS="`gnome-config --cflags gtkhtml`"
GTKHTML_LIBS="`gnome-config --libs gtkhtml`"

AC_SUBST(GTKHTML_CFLAGS)
AC_SUBST(GTKHTML_LIBS)

dnl ******************************
dnl Gnome-VFS checking
dnl ******************************
AC_MSG_CHECKING(for GNOME-VFS)
if gnome-config --libs vfs > /dev/null 2>&1; then
	vfs_ok=true
else
	vfs_ok=false
fi

if $vfs_ok; then
	AC_MSG_RESULT(found)
else
	AC_MSG_ERROR(GNOME-VFS is required to compile Evolution)
fi

BONOBO_VFS_GNOME_LIBS="`gnome-config --libs bonobo libglade gdk_pixbuf gnomecanvaspixbuf vfs gnomeui `"
BONOBO_VFS_GNOME_CFLAGS="`gnome-config --cflags bonobo libglade gdk_pixbuf gnomecanvaspixbuf vfs gnomeui `"
AC_SUBST(BONOBO_VFS_GNOME_LIBS)
AC_SUBST(BONOBO_VFS_GNOME_CFLAGS)

dnl ******************************
dnl Pilot checking
dnl ******************************
dnl GNOME_PILOT_CHECK


dnl ******
dnl XML
dnl ******
GNOME_XML_CHECK
xmlversion=`xml-config --version`
xmlmajor=`echo $xmlversion | awk -F. '{print $1;}'`
xmlminor=`echo $xmlversion | awk -F. '{print $2;}'`
xmlpatch=`echo $xmlversion | awk -F. '{print $3;}'`
if test "$xmlmajor" -ne 1 -o "$xmlminor" -ne 8 -o "$xmlpatch" -lt 7; then
	AC_MSG_ERROR(gnome-xml 1.8.7 (or later, but not 2.0) is required to compile Evolution)
fi

AC_ARG_WITH(camel-hard-log-level, [  --with-camel-hard-log-level=level  value of log level in camel (0-10)],
            camel_hard_log_level="$withval", camel_hard_log_level="0")
AC_DEFINE_UNQUOTED(CAMEL_HARD_LOG_LEVEL, $camel_hard_log_level)

AC_CONFIG_SUBDIRS(libical)

AC_SUBST(CAPPLET_LIBS)

dnl ******************************
dnl Whether to use OAF
dnl ******************************

AC_ARG_ENABLE(oaf, 
            [  --enable-oaf=[no/yes]      Use OAF instead of GOAD.],,enable_oaf=no)

if test "x$enable_oaf" = "xyes"; then
        AC_PATH_PROG(OAF_CONFIG,oaf-config,no)
        if test x$OAF_CONFIG = xno; then
                AC_MSG_ERROR("You enabled OAF support but oaf-config was not found")
        else
                OAF_LIBS=`$OAF_CONFIG --libs`
                OAF_CFLAGS=`$OAF_CONFIG --cflags`
                GNORBA_LIBNAME=
        fi
else
        OAF_LIBS=
        OAF_CFLAGS=
        GNORBA_LIBNAME=gnorba
fi

AC_SUBST(OAF_LIBS)
AC_SUBST(OAF_CFLAGS)

AM_CONDITIONAL(USING_OAF, test "x$enable_oaf" = "xyes")

if test "x$enable_oaf" = "xyes"; then
	AC_DEFINE(USING_OAF)
	BONOBO_GNOME_LIBS="`oaf-config --libs` $BONOBO_GNOME_LIBS"
	BONOBO_GNOME_CFLAGS="`oaf-config --cflags ` $BONOBO_GNOME_CFLAGS"
fi

dnl ******************************
dnl Makefiles
dnl ******************************

AC_OUTPUT([
Makefile
macros/Makefile
intl/Makefile
po/Makefile.in
e-util/Makefile
doc/Makefile
libibex/Makefile
camel/Makefile
camel/providers/Makefile
camel/providers/MH/Makefile
camel/providers/maildir/Makefile
camel/providers/mbox/Makefile
camel/providers/nntp/Makefile
camel/providers/pop3/Makefile
camel/providers/sendmail/Makefile
camel/providers/smtp/Makefile
composer/Makefile
devel-docs/Makefile
devel-docs/camel/Makefile
tests/Makefile
tests/ui-tests/Makefile
widgets/Makefile
widgets/e-text/Makefile
widgets/meeting-time-sel/Makefile
widgets/shortcut-bar/Makefile
widgets/e-table/Makefile
addressbook/Makefile
addressbook/ename/Makefile
addressbook/contact-editor/Makefile
addressbook/printing/Makefile
addressbook/backend/Makefile
addressbook/backend/idl/Makefile
addressbook/backend/pas/Makefile
addressbook/backend/ebook/Makefile
addressbook/gui/Makefile
addressbook/gui/minicard/Makefile
addressbook/gui/component/Makefile
shell/Makefile
mail/Makefile
data/Makefile
libversit/Makefile
libibex/Makefile
calendar/Makefile
calendar/doc/Makefile
calendar/doc/C/Makefile
calendar/idl/Makefile
calendar/cal-util/Makefile
calendar/cal-client/Makefile
calendar/pcs/Makefile
calendar/gui/Makefile
filter/Makefile
wombat/Makefile
art/Makefile
default_user/Makefile
tools/Makefile
])