]> git.0d.be Git - empathy.git/blobdiff - configure.ac
Merge branch 'folks-async-and-prepare'
[empathy.git] / configure.ac
index 0673f8863e1dd4c750e941667b1dd7e2ca84cdd4..7d735187dc45e8bff14e1aaed02bd19e919b0554 100644 (file)
@@ -3,8 +3,8 @@ m4_define(empathy_released, 0)
 
 m4_define([empathy_major_version], [2])
 m4_define([empathy_minor_version], [31])
-m4_define([empathy_micro_version], [1])
-m4_define([empathy_nano_version], [0])
+m4_define([empathy_micro_version], [5])
+m4_define([empathy_nano_version], [1])
 
 dnl Display the nano_version only if it's not '0'
 m4_define([empathy_base_version],
@@ -25,36 +25,42 @@ AC_INIT(Empathy, empathy_version, http://bugzilla.gnome.org/browse.cgi?product=e
 AC_PREREQ(2.59)
 AC_COPYRIGHT([
   Copyright (C) 2003-2007 Imendio AB
-  Copyright (C) 2007-2008 Collabora Ltd.
+  Copyright (C) 2007-2010 Collabora Ltd.
 ])
 
 # Minimal version required
-GLIB_REQUIRED=2.22.0
-GTK_REQUIRED=2.20.0
+
+# Hardp deps
+FOLKS_REQUIRED=0.1.11
 GCONF_REQUIRED=1.2.0
-TELEPATHY_GLIB_REQUIRED=0.11.3
-TELEPATHY_LOGGER=0.1.1
-ENCHANT_REQUIRED=1.2.0
-ISO_CODES_REQUIRED=0.35
-LIBNOTIFY_REQUIRED=0.4.4
+GLIB_REQUIRED=2.25.9
+GTK_REQUIRED=2.21.2
+KEYRING_REQUIRED=2.22
 LIBCANBERRA_GTK_REQUIRED=0.4
-LIBCHAMPLAIN_REQUIRED=0.4
-LIBCHAMPLAIN_GTK_REQUIRED=0.4
+LIBNOTIFY_REQUIRED=0.4.4
+LIBNOTIFY_REQUIRED_GTK3=0.5.1
+TELEPATHY_FARSIGHT_REQUIRED=0.0.14
+TELEPATHY_GLIB_REQUIRED=0.11.7
+TELEPATHY_LOGGER=0.1.2
+UNIQUE_REQUIRED=1.1.2
+
+# Optionnal deps
 CLUTTER_GTK_REQUIRED=0.10
+ENCHANT_REQUIRED=1.2.0
 GEOCLUE_REQUIRED=0.11
-WEBKIT_REQUIRED=1.1.15
-KEYRING_REQUIRED=2.22
-NETWORK_MANAGER_REQUIRED=0.7.0
+ISO_CODES_REQUIRED=0.35
+LIBCHAMPLAIN_GTK_REQUIRED=0.4
+LIBCHAMPLAIN_REQUIRED=0.4
 NAUTILUS_SENDTO_REQUIRED=2.28.1
+NAUTILUS_SENDTO_REQUIRED_GTK3=2.90.0
+NETWORK_MANAGER_REQUIRED=0.7.0
+WEBKIT_REQUIRED=1.1.15
 
 # Use --enable-maintainer-mode to disable deprecated symbols,
 # disable single include and enable GSEAL. If this is not a released empathy,
 # maintainer mode is forced
 ifelse(empathy_released, 1, [], [enable_maintainer_mode="yes"])
 GNOME_MAINTAINER_MODE_DEFINES
-#if test $USE_MAINTAINER_MODE = yes; then
-#  AC_DEFINE(GSEAL_ENABLE, [], [Seal public structs to force usage of accessors])
-#fi
 
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_HEADERS([config.h])
@@ -79,14 +85,10 @@ AM_PATH_GLIB_2_0
 AC_PATH_XTRA
 IT_PROG_INTLTOOL([0.35.0])
 GNOME_DOC_INIT([0.17.3])
-IDT_COMPILE_WARNINGS
 AC_PATH_PROG(DBUS_BINDING_TOOL, dbus-binding-tool)
-AC_PATH_PROG(GCONFTOOL, gconftool-2)
-AM_GCONF_SOURCE_2
+GLIB_GSETTINGS
 GLIB_GENMARSHAL=`$PKG_CONFIG glib-2.0 --variable=glib_genmarshal`
 AC_SUBST(GLIB_GENMARSHAL)
-CONTROL_CENTER_EXTENSIONDIR=`$PKG_CONFIG --variable=extensiondir libgnome-control-center-extension`
-AC_SUBST(CONTROL_CENTER_EXTENSIONDIR)
 
 AC_CHECK_PROGS([XSLTPROC], [xsltproc])
 if test -z "$XSLTPROC"; then
@@ -136,94 +138,71 @@ AS_COMPILER_FLAG(-Wmissing-declarations, ERROR_CFLAGS="$ERROR_CFLAGS -Wmissing-d
 
 AC_SUBST(ERROR_CFLAGS)
 
-# -----------------------------------------------------------
-# Enable TPL
-# -----------------------------------------------------------
-
-# It needs to be defined before PKG_CHECK_MODULES calls
-AC_ARG_ENABLE(tpl,
-  AC_HELP_STRING([--enable-tpl],[enable telepathy-logger code and disable the
-    empathy logger]), enable_tpl=$enableval, enable_tpl=no )
-AM_CONDITIONAL(ENABLE_TPL, test "x$enable_tpl" = "xyes")
-
-if test x${enable_tpl} = xyes; then
-  AC_DEFINE(ENABLE_TPL, [], [Enable TPL code])
-fi
-
-if test "x$enable_tpl" = "xyes"; then
-  PKG_CHECK_MODULES(TPL,
-  [
-     telepathy-logger = $TELEPATHY_LOGGER
-  ])
-  AC_SUBST(TPL_CFLAGS)
-  AC_SUBST(TPL_LIBS)
-fi
-
-
 # -----------------------------------------------------------
 # Pkg-Config dependency checks
 # -----------------------------------------------------------
 
-PKG_CHECK_MODULES(LIBEMPATHY,
+PKG_CHECK_MODULES(EMPATHY,
 [
-   glib-2.0 >= $GLIB_REQUIRED
-   gobject-2.0
+   dbus-glib-1
+   farsight2-0.10
+   folks >= $FOLKS_REQUIRED
+   folks-telepathy >= $FOLKS_REQUIRED
+   gconf-2.0 >= $GCONF_REQUIRED
    gio-2.0 >= $GLIB_REQUIRED
    gio-unix-2.0 >= $GLIB_REQUIRED
-   libxml-2.0
-   telepathy-glib >= $TELEPATHY_GLIB_REQUIRED
-   telepathy-farsight
-   farsight2-0.10
-   gstreamer-0.10
-])
-
-PKG_CHECK_MODULES(LIBEMPATHYGTK,
-[
-   glib-2.0 >= $GLIB_REQUIRED
+   gnome-keyring-1 >= $KEYRING_REQUIRED
    gobject-2.0
-   gio-2.0 >= $GLIB_REQUIRED
-   gconf-2.0 >= $GCONF_REQUIRED
-   x11
-   gtk+-2.0 >= $GTK_REQUIRED
-   libcanberra-gtk >= $LIBCANBERRA_GTK_REQUIRED
-   telepathy-glib >= $TELEPATHY_GLIB_REQUIRED
-   farsight2-0.10
    gstreamer-0.10
    gstreamer-interfaces-0.10
-])
-
-PKG_CHECK_MODULES(EMPATHY,
-[
-   glib-2.0 >= $GLIB_REQUIRED
-   gobject-2.0
-   gio-2.0 >= $GLIB_REQUIRED
-   gdk-x11-2.0
-   gtk+-2.0 >= $GTK_REQUIRED
    libebook-1.2
-   dbus-glib-1
+   libxml-2.0
+   telepathy-farsight >= $TELEPATHY_FARSIGHT_REQUIRED
    telepathy-glib >= $TELEPATHY_GLIB_REQUIRED
-   telepathy-farsight
-   farsight2-0.10
-   gstreamer-0.10
-   unique-1.0
-   gnome-keyring-1 >= $KEYRING_REQUIRED
+   telepathy-logger-0.1 >= $TELEPATHY_LOGGER
+   x11
 ])
 
-PKG_CHECK_MODULES(LIBEMPATHY_ACCOUNTS_PANEL,
-[
-   glib-2.0 >= $GLIB_REQUIRED
-   gobject-2.0
-   gio-2.0 >= $GLIB_REQUIRED
-   gdk-x11-2.0
-   gtk+-2.0 >= $GTK_REQUIRED
-   libebook-1.2
-   dbus-glib-1
-   telepathy-glib >= $TELEPATHY_GLIB_REQUIRED
-   unique-1.0
-   gnome-keyring-1 >= $KEYRING_REQUIRED
-])
+# -----------------------------------------------------------
+# GTK+
+# -----------------------------------------------------------
+AC_ARG_ENABLE(gtk3,
+              AS_HELP_STRING([--enable-gtk3=@<:@no/yes/auto@:>@],
+                             [build with GTK+3]), ,
+                             enable_gtk3=auto)
+
+# Try to use GTK+3 if available
+if test "x$enable_gtk3" != "xno"; then
+   PKG_CHECK_MODULES(GTK,
+   [
+      gtk+-3.0 >= $GTK_REQUIRED
+   ], have_gtk3="yes", have_gtk3="no")
+else
+   have_gtk3="no"
+fi
 
-PKG_CHECK_MODULES(LIBNOTIFY, libnotify >= $LIBNOTIFY_REQUIRED)
+if test "x$enable_gtk3" = "xyes" -a "x$have_gtk3" != "xyes"; then
+   AC_MSG_ERROR([Could not find gtk3 dependencies.])
+fi
+
+if test "x$have_gtk3" == "xyes"; then
+   # GTK3 specific deps
+   PKG_CHECK_MODULES(CANBERRA, libcanberra-gtk3 >= $LIBCANBERRA_GTK_REQUIRED)
+   PKG_CHECK_MODULES(LIBNOTIFY, libnotify >= $LIBNOTIFY_REQUIRED_GTK3)
+   PKG_CHECK_MODULES(UNIQUE, unique-3.0 >= $UNIQUE_REQUIRED)
+else
+   PKG_CHECK_MODULES(GTK, gtk+-2.0 >= $GTK_REQUIRED)
+
+   # GTK2 specific deps
+   PKG_CHECK_MODULES(CANBERRA, libcanberra-gtk >= $LIBCANBERRA_GTK_REQUIRED)
+   PKG_CHECK_MODULES(LIBNOTIFY, libnotify >= $LIBNOTIFY_REQUIRED)
+   PKG_CHECK_MODULES(UNIQUE, unique-1.0 >= $UNIQUE_REQUIRED)
+
+   # Enable GSEAL checks if needed
+   if test $USE_MAINTAINER_MODE = yes; then
+      AC_DEFINE(GSEAL_ENABLE, [], [Seal public structs to force usage of accessors])
+   fi
+fi
 
 # -----------------------------------------------------------
 # Enable debug
@@ -260,6 +239,7 @@ if test "x$with_connectivity" = "xno"; then
    have_connman=no
 
 elif test "x$with_connectivity" = "xconnman"; then
+   have_nm=no
 
    PKG_CHECK_MODULES(CONNMAN,
    [
@@ -268,29 +248,18 @@ elif test "x$with_connectivity" = "xconnman"; then
 
    if test "x$have_connman" = "xyes"; then
       AC_DEFINE(HAVE_CONNMAN, 1, [Define if you have connman dependencies])
-      have_nm=no
    fi
 
 else
+   have_connman=no
 
    PKG_CHECK_MODULES(NETWORK_MANAGER,
    [
-      libnm_glib >= $NETWORK_MANAGER_REQUIRED
+      libnm-glib >= $NETWORK_MANAGER_REQUIRED
    ], have_nm="yes", have_nm="no")
 
    if test "x$have_nm" = "xyes"; then
       AC_DEFINE(HAVE_NM, 1, [Define if you have libnm-glib])
-      have_connman=no
-   else
-      PKG_CHECK_MODULES(NETWORK_MANAGER,
-      [
-          libnm-glib >= $NETWORK_MANAGER_REQUIRED
-      ], have_nm="yes", have_nm="no")
-
-      if test "x$have_nm" = "xyes"; then
-      AC_DEFINE(HAVE_NM, 1, [Define if you have libnm-glib])
-      have_connman=no
-      fi
    fi
 fi
 
@@ -314,10 +283,14 @@ AC_ARG_ENABLE(webkit,
                              enable_webkit=auto)
 
 if test "x$enable_webkit" != "xno"; then
-   PKG_CHECK_MODULES(WEBKIT,
-   [
-      webkit-1.0 >= $WEBKIT_REQUIRED
-   ], have_webkit="yes", have_webkit="no")
+
+   if test "x$have_gtk3" == "xno"; then
+      PKG_CHECK_MODULES(WEBKIT, [webkit-1.0 >= $WEBKIT_REQUIRED],
+          have_webkit="yes", have_webkit="no")
+   else
+      PKG_CHECK_MODULES(WEBKIT, [webkitgtk-3.0 >= $WEBKIT_REQUIRED],
+          have_webkit="yes", have_webkit="no")
+   fi
 
    if test "x$have_webkit" = "xyes"; then
       AC_DEFINE(HAVE_WEBKIT, 1, [Define if you have libwebkitgtk])
@@ -327,7 +300,7 @@ else
 fi
 
 if test "x$enable_webkit" = "xyes" -a "x$have_webkit" != "xyes"; then
-   AC_MSG_ERROR([Couldn't find webkit dependencies.])
+   AC_MSG_ERROR([Could not find webkit dependencies.])
 fi
 AM_CONDITIONAL(HAVE_WEBKIT, test "x$have_webkit" = "xyes")
 
@@ -364,7 +337,7 @@ else
 fi
 
 if test "x$enable_spell" = "xyes" -a "x$have_enchant" != "xyes"; then
-   AC_MSG_ERROR([Couldn't find spell dependencies.])
+   AC_MSG_ERROR([Could not find spell dependencies.])
 fi
 
 AM_CONDITIONAL(HAVE_ENCHANT, test "x$have_enchant" = "xyes")
@@ -378,12 +351,18 @@ AC_ARG_ENABLE(map,
                              enable_map=auto)
 
 if test "x$enable_map" != "xno"; then
-   PKG_CHECK_MODULES(LIBCHAMPLAIN,
-   [
-      champlain-0.4 >= $LIBCHAMPLAIN_REQUIRED,
-      champlain-gtk-0.4 >= $LIBCHAMPLAIN_GTK_REQUIRED
-      clutter-gtk-0.10 >= $CLUTTER_GTK_REQUIRED
-   ], have_libchamplain="yes", have_libchamplain="no")
+
+   if test "x$have_gtk3" == "xno"; then
+      PKG_CHECK_MODULES(LIBCHAMPLAIN,
+      [
+         champlain-0.4 >= $LIBCHAMPLAIN_REQUIRED,
+         champlain-gtk-0.4 >= $LIBCHAMPLAIN_GTK_REQUIRED
+         clutter-gtk-0.10 >= $CLUTTER_GTK_REQUIRED
+      ], have_libchamplain="yes", have_libchamplain="no")
+   else
+      # FIXME: check deps once clutter-gtk and champlain have been ported to GTK3
+      have_libchamplain="no"
+   fi
 
    if test "x$have_libchamplain" = "xyes"; then
       AC_DEFINE(HAVE_LIBCHAMPLAIN, 1, [Define if you have libchamplain])
@@ -393,7 +372,7 @@ else
 fi
 
 if test "x$enable_map" = "xyes" -a "x$have_libchamplain" != "xyes"; then
-   AC_MSG_ERROR([Couldn't find map view dependencies.])
+   AC_MSG_ERROR([Could not find map view dependencies.])
 fi
 
 AM_CONDITIONAL(HAVE_LIBCHAMPLAIN, test "x$have_libchamplain" = "xyes")
@@ -420,7 +399,7 @@ else
 fi
 
 if test "x$enable_location" = "xyes" -a "x$have_geoclue" != "xyes"; then
-   AC_MSG_ERROR([Couldn't find location dependencies.])
+   AC_MSG_ERROR([Could not find location dependencies.])
 fi
 
 AM_CONDITIONAL(HAVE_GEOCLUE, test "x$have_geoclue" = "xyes")
@@ -443,48 +422,19 @@ if test "x$enable_meego" != "xno"; then
 
     if test "x$have_meego" = "xyes"; then
        AC_DEFINE(HAVE_MEEGO, 1, [Define if you have meego])
-       chain_enable_favourite_contacts="yes"
     fi
 else
    have_meego="no"
 fi
 
 if test "x$enable_meego" = "xyes" -a "x$have_meego" != "xyes"; then
-   AC_MSG_ERROR([Couldn't find meego dependencies.])
+   AC_MSG_ERROR([Could not find meego dependencies.])
 fi
 
 AM_CONDITIONAL(HAVE_MEEGO, test "x$have_meego" = "xyes")
 AC_SUBST(MEEGO_CFLAGS)
 AC_SUBST(MEEGO_LIBS)
 
-# -----------------------------------------------------------
-# favourite contacts support
-# -----------------------------------------------------------
-AC_ARG_ENABLE(favourite_contacts,
-              AS_HELP_STRING([--enable-favourite-contacts=@<:no/yes@:>@],
-                             [Enable favourite contacts]), ,
-                             enable_favourite_contacts=no)
-
-if test "x$enable_favourite_contacts" != "xno" -o "x$chain_enable_favourite_contacts" == "xyes"; then
-    PKG_CHECK_MODULES(TELEPATHY_LOGGER,
-    [
-       telepathy-logger
-    ], have_telepathy_logger="yes", have_telepathy_logger="no")
-
-    if test "x$have_telepathy_logger" = "xyes"; then
-       have_favourite_contacts="yes"
-       AC_DEFINE(HAVE_FAVOURITE_CONTACTS, 1, [Define if you want favourite contacts support])
-    fi
-else
-   have_favourite_contacts="no"
-fi
-
-if test "x$enable_favourite_contacts" = "xyes" -a "x$have_favourite_contacts" != "xyes"; then
-   AC_MSG_ERROR([Couldn't find favourite contacts dependencies.])
-fi
-
-AM_CONDITIONAL(HAVE_FAVOURITE_CONTACTS, test "x$have_telepathy_logger" = "xyes")
-
 # -----------------------------------------------------------
 # nautilus-sendto
 # -----------------------------------------------------------
@@ -494,16 +444,27 @@ AC_ARG_ENABLE(nautilus-sendto,
                              enable_nautilus_sendto=auto)
 
 if test "x$enable_nautilus_sendto" != "xno"; then
-   PKG_CHECK_MODULES(NST,
-   [
-      nautilus-sendto >= $NAUTILUS_SENDTO_REQUIRED
-   ], have_nst="yes", have_nst="no")
+   if test "x$have_gtk3" == "xno"; then
+      # Newer NST requires GTK+3 so we can't use it
+      PKG_CHECK_MODULES(NST,
+      [
+         nautilus-sendto >= $NAUTILUS_SENDTO_REQUIRED
+         nautilus-sendto < 2.90.0
+      ], have_nst="yes", have_nst="no")
+
+      AC_DEFINE(HAVE_OLD_NST, [], [Legacy compat mode with old nautilus-sendto] )
+   else
+      PKG_CHECK_MODULES(NST,
+      [
+         nautilus-sendto >= $NAUTILUS_SENDTO_REQUIRED_GTK3
+      ], have_nst="yes", have_nst="no")
+   fi
 else
    have_nst=no
 fi
 
 if test "x$enable_nautilus_sendto" = "xyes" -a "x$have_nst" != "xyes"; then
-   AC_MSG_ERROR([Couldn't find nautilus-sendto dependencies.])
+   AC_MSG_ERROR([Could not find nautilus-sendto dependencies.])
 fi
 
 AM_CONDITIONAL(HAVE_NST, test "x$have_nst" = "xyes")
@@ -519,18 +480,27 @@ AC_ARG_ENABLE(control_center_embedding,
 if test "x$enable_control_center_embedding" != "xno"; then
    PKG_CHECK_MODULES(CONTROL_CENTER_EMBEDDING,
    [
-      libgnome-control-center-extension
+      libgnome-control-center
    ], have_control_center_embedding="yes", have_control_center_embedding="no")
 
    if test "x$have_control_center_embedding" = "xyes"; then
       AC_DEFINE(HAVE_CONTROL_CENTER_EMBEDDING, 1, [Define if you have the single-window control center])
+
+      AC_MSG_CHECKING([gnome-control-center extension dir])
+      CONTROL_CENTER_EXTENSIONDIR=`$PKG_CONFIG --variable=extensiondir libgnome-control-center`
+      if test "x$CONTROL_CENTER_EXTENSIONDIR" = "x"; then
+          AC_MSG_ERROR([Could not determine extensiondir])
+      else
+          AC_MSG_RESULT([$CONTROL_CENTER_EXTENSIONDIR])
+      fi
+      AC_SUBST(CONTROL_CENTER_EXTENSIONDIR)
    fi
 else
    have_control_center_embedding="no"
 fi
 
 if test "x$enable_control_center_embedding" = "xyes" -a "x$have_control_center_embedding" != "xyes"; then
-   AC_MSG_ERROR([Couldn't find single-window control center dependencies.])
+   AC_MSG_ERROR([Could not find single-window control center dependencies.])
 fi
 
 AM_CONDITIONAL(HAVE_CONTROL_CENTER_EMBEDDING, test "x$have_control_center_embedding" = "xyes")
@@ -542,7 +512,7 @@ AC_SUBST(CONTROL_CENTER_EMBEDDING_LIBS)
 # -----------------------------------------------------------
 AC_ARG_ENABLE(coding-style-checks,
   AC_HELP_STRING([--disable-coding-style-checks],
-                 [don't check coding style using grep]),
+                 [do not check coding style using grep]),
     [ENABLE_CODING_STYLE_CHECKS=$enableval], [ENABLE_CODING_STYLE_CHECKS=yes])
 
 AC_SUBST([ENABLE_CODING_STYLE_CHECKS])
@@ -574,6 +544,7 @@ Configure summary:
        Compiler Flags..............:  ${CFLAGS} ${ERROR_CFLAGS}
        Prefix......................:  ${prefix}
        Coding style checks.........:  ${ENABLE_CODING_STYLE_CHECKS}
+       Use GTK+3...................:  ${have_gtk3}
 
     Features:
        Spell checking (enchant)....:  ${have_enchant}
@@ -581,12 +552,8 @@ Configure summary:
        Location awareness (Geoclue):  ${have_geoclue}
        Adium themes (Webkit).......:  ${have_webkit}
        Meego widgets ..............:  ${have_meego}
-       Favourite contacts .........:  ${have_favourite_contacts}
        Control center embedding....:  ${have_control_center_embedding}
 
-    Logging:
-        Telepathy Logger............:  ${enable_tpl}
-
     Connectivity:
        NetworkManager integration..:  ${have_nm}
        ConnMan integration.........:  ${have_connman}