dnl -*- mode: Autoconf; -*- dnl Invoke autogen.sh to produce a configure script. dnl configure-pre.in and src/backends/*/configure-sub.in and configure-post.in come before this part AC_SUBST(BACKEND_CPPFLAGS) enable_any="no" backend_is_enabled () { eval echo \${enable_${1}} } for backend in $BACKENDS; do if test `backend_is_enabled $backend` == "yes"; then enable_any="yes" SYNCEVOLUTION_MODULES="$SYNCEVOLUTION_MODULES src/backends/sync${backend}.la" fi done if test "$enable_any" = "no"; then AC_MSG_ERROR([no backend enabled - refusing to continue: $anymissing]) fi dnl check for programs. AC_PROG_CXX AC_PROG_LIBTOOL AC_PROG_MAKE_SET dnl glib initialization is done only if requested by some configure-sub.in, dnl for not needed otherwise even if found if test "$need_glib" = "yes"; then # HAVE_GLIB (aka GLIBFOUND) are a catch-all for these # three GNOME libs. Assume we have all three unless one of # the checks fails. GLIBFOUND=yes dnl check for glib - calling g_type_init() is expected on Maemo PKG_CHECK_MODULES(GLIB, "glib-2.0", , GLIBFOUND=no) # This check here is broken on Ubuntu 8.04: it calls glib-config, # which isn't found, but the error is not detected by configure. #if test "x${GLIBFOUND}" = "xno"; then # PKG_CHECK_MODULES(GLIB, "glib", GLIBFOUND=yes, GLIBFOUND=no) #fi PKG_CHECK_MODULES(GTHREAD, "gthread-2.0", , GLIBFOUND=no) PKG_CHECK_MODULES(GOBJECT, "gobject-2.0", , GLIBFOUND=no) if test "x${GLIBFOUND}" = "xyes"; then AC_DEFINE(HAVE_GLIB, 1, [glib found]) else AC_ERROR([not all GNOME libraries found]) fi BACKEND_CPPFLAGS="$BACKEND_CPPFLAGS $GLIB_CFLAGS $GTHREAD_CFLAGS $GOBJECT_CFLAGS" fi dnl figure out whether we link all code statically or as modules AM_CONDITIONAL([ENABLE_MODULES], [test "$enable_shared" == "yes"]) if test "$enable_shared" == "yes"; then AC_DEFINE(ENABLE_MODULES, 1, [enable dynamically opening sync source backends]) fi AC_SUBST(SYNCEVOLUTION_LDADD) dnl CXXFLAGS gets applied to SyncEvolution and the client library. dnl For e.g. "-Wall -Werror" this might not be such a good idea; dnl SYNCEVOLUTION_CXXFLAGS can be used instead. It applies only dnl to the sources in the SyncEvolution repository. AC_SUBST(SYNCEVOLUTION_CXXFLAGS) dnl a quick-and-dirty way to detect compilation for the iPhone if test "$host" == "arm-apple-darwin"; then AC_DEFINE(IPHONE, 1, [compiling for iPhone]) DEVICE_TYPE=iPhone fi dnl --enable-evolution-compatibility if test "$enable_evolution_compatibility" == "yes"; then AC_DEFINE(EVOLUTION_COMPATIBILITY, 1, [avoid hard dependency on Evolution shared objects]) fi AM_CONDITIONAL([ENABLE_EVOLUTION_COMPATIBILITY], [test "$enable_evolution_compatibility" == "yes"]) dnl --enable-developer-mode if test "$enable_developer_mode" == "yes"; then backendsearchdir="`pwd`/src/backends/" else backendsearchdir='$(libdir)'/syncevolution/backends/ fi backenddir='$(libdir)'/syncevolution/backends AC_SUBST(backenddir) AC_SUBST(backendsearchdir) dnl This string is sent as part of the SyncML DevInf (device dnl information) structure to the server. All SyncEvolution platforms dnl use "SyncEvolution" as HTTP user agent and "Mod" (model), so the dnl device type is the only way how different kinds of clients can be dnl distinguished. AC_DEFINE_UNQUOTED(DEVICE_TYPE, "$DEVICE_TYPE", "SyncML DevInf DevType") AC_CHECK_HEADERS(stdarg.h valgrind/valgrind.h execinfo.h) AC_DEFINE(SYNTHESIS, 1, "using Synthesis engine") # fallback for lack of --with-docdir support in older automake if test ! "$docdir"; then docdir = ${datadir}/doc/syncevolution AC_SUBST(docdir) fi AC_CONFIG_FILES(Makefile src/dbus/interfaces/Makefile src/dbus/Makefile src/Makefile src/syncevo/Makefile src/syncevo/syncevolution.pc src/gtk-ui/Makefile po/Makefile.in test/Makefile src/dbus/syncevo-dbus.pc) AC_OUTPUT echo echo CONFIGURATION SUMMARY for backend in $BACKENDS; do eval echo $backend: \${enable_${backend}} done echo "DBus service: $enable_dbus_service" echo "UI (DBus client): $enable_gui" echo