]> git.0d.be Git - empathy.git/blobdiff - configure.ac
add myself to AUTHORS
[empathy.git] / configure.ac
index ce87cb873b01900f677abe3102b35dffd647d3b4..6085e9b359903988edfb7cd19aef635bbb7f444b 100644 (file)
@@ -1,53 +1,58 @@
-AC_INIT(Empathy, 2.27.4, http://bugzilla.gnome.org/browse.cgi?product=empathy)
+dnl If not 1, append datestamp to the version number
+m4_define(empathy_released, 0)
+
+m4_define([empathy_major_version], [2])
+m4_define([empathy_minor_version], [29])
+m4_define([empathy_micro_version], [4])
+m4_define([empathy_nano_version], [0])
+
+dnl Display the nano_version only if it's not '0'
+m4_define([empathy_base_version],
+          [empathy_major_version.empathy_minor_version.empathy_micro_version])
+m4_define([empathy_full_version],
+          [m4_if(empathy_nano_version, 0, [empathy_base_version],
+              [empathy_base_version].[empathy_nano_version])])
+
+m4_define(empathy_maybe_datestamp,
+          m4_esyscmd([if test x]empathy_released[ != x1; then date +.%Y%m%d | tr -d '\n\r'; fi]))
+
+m4_define(empathy_version, empathy_full_version[]empathy_maybe_datestamp)
+
+
+AC_INIT(Empathy, empathy_version, http://bugzilla.gnome.org/browse.cgi?product=empathy)
+
+
 AC_PREREQ(2.59)
 AC_COPYRIGHT([
   Copyright (C) 2003-2007 Imendio AB
   Copyright (C) 2007-2008 Collabora Ltd.
 ])
 
-# LT Version numbers, remember to change them just *before* a release.
-#   (Interfaces removed:    CURRENT++, AGE=0, REVISION=0)
-#   (Interfaces added:      CURRENT++, AGE++, REVISION=0)
-#   (No interfaces changed:                   REVISION++)
-LIBEMPATHY_CURRENT=26
-LIBEMPATHY_AGE=0
-LIBEMPATHY_REVISION=0
-
-LIBEMPATHY_GTK_CURRENT=24
-LIBEMPATHY_GTK_AGE=0
-LIBEMPATHY_GTK_REVISION=0
-
-AC_SUBST(LIBEMPATHY_CURRENT)
-AC_SUBST(LIBEMPATHY_AGE)
-AC_SUBST(LIBEMPATHY_REVISION)
-AC_SUBST(LIBEMPATHY_GTK_CURRENT)
-AC_SUBST(LIBEMPATHY_GTK_AGE)
-AC_SUBST(LIBEMPATHY_GTK_REVISION)
-
 # Minimal version required
-GLIB_REQUIRED=2.16.0
-GTK_REQUIRED=2.16.0
+GLIB_REQUIRED=2.22.0
+GTK_REQUIRED=2.18.0
 GCONF_REQUIRED=1.2.0
-LIBPANELAPPLET_REQUIRED=2.10.0
-TELEPATHY_GLIB_REQUIRED=0.7.31
-MISSION_CONTROL_REQUIRED=4.61
+TELEPATHY_GLIB_REQUIRED=0.9.0
 ENCHANT_REQUIRED=1.2.0
 ISO_CODES_REQUIRED=0.35
 LIBNOTIFY_REQUIRED=0.4.4
 LIBCANBERRA_GTK_REQUIRED=0.4
-LIBCHAMPLAIN_REQUIRED=0.3.3
-LIBCHAMPLAIN_GTK_REQUIRED=0.3.3
-CLUTTER_GTK_REQUIRED=0.8.2
+LIBCHAMPLAIN_REQUIRED=0.4
+LIBCHAMPLAIN_GTK_REQUIRED=0.4
+CLUTTER_GTK_REQUIRED=0.10
 GEOCLUE_REQUIRED=0.11
-WEBKIT_REQUIRED=1.1.7
+WEBKIT_REQUIRED=1.1.15
+KEYRING_REQUIRED=2.22
+NETWORK_MANAGER_REQUIRED=0.7.0
+NAUTILUS_SENDTO_REQUIRED=2.28.1
 
 # Use --enable-maintainer-mode to disabled deprecated symbols
 GNOME_MAINTAINER_MODE_DEFINES
 
-# Uncomment that to build with single include disabled
-#AC_DEFINE(G_DISABLE_SINGLE_INCLUDES, [], [Disable single includes for GLib])
-#AC_DEFINE(GDK_PIXBUF_DISABLE_SINGLE_INCLUDES, [], [Disable single includes for GDK pixbuf])
-#AC_DEFINE(GTK_DISABLE_SINGLE_INCLUDES, [], [Disable single includes for GTK])
+# Warning if GLib/GDK/GTK headers are included
+AC_DEFINE(G_DISABLE_SINGLE_INCLUDES, [], [Disable single includes for GLib])
+AC_DEFINE(GDK_PIXBUF_DISABLE_SINGLE_INCLUDES, [], [Disable single includes for GDK pixbuf])
+AC_DEFINE(GTK_DISABLE_SINGLE_INCLUDES, [], [Disable single includes for GTK])
 
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_HEADERS([config.h])
@@ -65,8 +70,7 @@ AM_PROG_MKDIR_P
 AM_PATH_GLIB_2_0
 AC_PATH_XTRA
 IT_PROG_INTLTOOL([0.35.0])
-GTK_DOC_CHECK([1.3])
-GNOME_DOC_INIT
+GNOME_DOC_INIT([0.17.3])
 IDT_COMPILE_WARNINGS
 AC_PATH_PROG(DBUS_BINDING_TOOL, dbus-binding-tool)
 AC_PATH_PROG(GCONFTOOL, gconftool-2)
@@ -82,6 +86,46 @@ AM_PATH_PYTHON([2.3])
 
 EMPATHY_ARG_VALGRIND
 
+
+# -----------------------------------------------------------
+# Error flags
+# -----------------------------------------------------------
+AS_COMPILER_FLAG(-Wall, ERROR_CFLAGS="-Wall", ERROR_CFLAGS="")
+AS_COMPILER_FLAG(-Werror, werror=yes, werror=no)
+
+AC_ARG_ENABLE(Werror,
+  AC_HELP_STRING([--disable-Werror],[compile without -Werror (normally enabled in development builds)]),
+    werror=$enableval, :)
+
+AS_COMPILER_FLAG(-Wextra, wextra=yes, wextra=no)
+AS_COMPILER_FLAG(-Wno-missing-field-initializers,
+        wno_missing_field_initializers=yes,
+        wno_missing_field_initializers=no)
+AS_COMPILER_FLAG(-Wno-unused-parameter,
+        wno_unused_parameter=yes,
+        wno_unused_parameter=no)
+
+ifelse(empathy_released, 1, [],
+    [
+        if test x$werror = xyes; then
+            ERROR_CFLAGS="$ERROR_CFLAGS -Werror"
+        fi
+        if test x$wextra = xyes -a \
+            x$wno_missing_field_initializers = xyes -a \
+            x$wno_unused_parameter = xyes; then
+            ERROR_CFLAGS="$ERROR_CFLAGS -Wextra -Wno-missing-field-initializers -Wno-unused-parameter"
+        fi
+    ])
+
+AS_COMPILER_FLAG(-Wdeclaration-after-statement, ERROR_CFLAGS="$ERROR_CFLAGS -Wdeclaration-after-statement")
+AS_COMPILER_FLAG(-Wshadow, ERROR_CFLAGS="$ERROR_CFLAGS -Wshadow")
+AS_COMPILER_FLAG(-Wmissing-prototypes, ERROR_CFLAGS="$ERROR_CFLAGS -Wmissing-prototypes")
+AS_COMPILER_FLAG(-Wmissing-declarations, ERROR_CFLAGS="$ERROR_CFLAGS -Wmissing-declarations")
+# Disabled because some GTK+ headers (like gtkitemfactory.h) are bugged :(
+#AS_COMPILER_FLAG(-Wstrict-prototypes, ERROR_CFLAGS="$ERROR_CFLAGS -Wstrict-prototypes")
+
+AC_SUBST(ERROR_CFLAGS)
+
 # -----------------------------------------------------------
 # Pkg-Config dependency checks
 # -----------------------------------------------------------
@@ -94,8 +138,9 @@ PKG_CHECK_MODULES(LIBEMPATHY,
    gio-unix-2.0 >= $GLIB_REQUIRED
    libxml-2.0
    telepathy-glib >= $TELEPATHY_GLIB_REQUIRED
-   libmissioncontrol >= $MISSION_CONTROL_REQUIRED
    telepathy-farsight
+   farsight2-0.10
+   gstreamer-0.10
 ])
 
 PKG_CHECK_MODULES(LIBEMPATHYGTK,
@@ -108,8 +153,6 @@ PKG_CHECK_MODULES(LIBEMPATHYGTK,
    gtk+-2.0 >= $GTK_REQUIRED
    libcanberra-gtk >= $LIBCANBERRA_GTK_REQUIRED
    telepathy-glib >= $TELEPATHY_GLIB_REQUIRED
-   libmissioncontrol >= $MISSION_CONTROL_REQUIRED
-   telepathy-farsight
    farsight2-0.10
    gstreamer-0.10
    gstreamer-interfaces-0.10
@@ -120,16 +163,16 @@ PKG_CHECK_MODULES(EMPATHY,
    glib-2.0 >= $GLIB_REQUIRED
    gobject-2.0
    gio-2.0 >= $GLIB_REQUIRED
-   gconf-2.0 >= $GCONF_REQUIRED
-   x11
+   gdk-x11-2.0
    gtk+-2.0 >= $GTK_REQUIRED
-   libcanberra-gtk >= $LIBCANBERRA_GTK_REQUIRED
    libebook-1.2
+   dbus-glib-1
    telepathy-glib >= $TELEPATHY_GLIB_REQUIRED
-   libmissioncontrol >= $MISSION_CONTROL_REQUIRED
    telepathy-farsight
+   farsight2-0.10
    gstreamer-0.10
-   gstreamer-interfaces-0.10
+   unique-1.0
+   gnome-keyring-1 >= $KEYRING_REQUIRED
 ])
 
 PKG_CHECK_MODULES(LIBNOTIFY, libnotify >= $LIBNOTIFY_REQUIRED)
@@ -156,6 +199,64 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[Gettext package name])
 
 AM_GLIB_GNU_GETTEXT
 
+# -----------------------------------------------------------
+# Connectivity integration
+# -----------------------------------------------------------
+AC_ARG_WITH(connectivity,
+              AS_HELP_STRING([--with-connectivity=@<:@nm/connman/auto/no@:>@],
+                             [build with connectivity support]), ,
+                             with_connectivity=auto)
+
+if test "x$with_connectivity" = "xno"; then
+   have_nm=no
+   have_connman=no
+
+elif test "x$with_connectivity" = "xconnman"; then
+
+   PKG_CHECK_MODULES(CONNMAN,
+   [
+      dbus-glib-1
+   ], have_connman="yes", have_connman="no")
+
+   if test "x$have_connman" = "xyes"; then
+      AC_DEFINE(HAVE_CONNMAN, 1, [Define if you have connman dependencies])
+      have_nm=no
+   fi
+
+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
+   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
+
+if test "x$with_connectivity" = "xconnman" -a "x$have_connman" != "xyes"; then
+   AC_MSG_ERROR([Couldn't find connman dependencies.])
+fi
+
+if test "x$with_connectivity" = "xnm" -a "x$have_nm" != "xyes"; then
+   AC_MSG_ERROR([Couldn't find libnm-glib dependencies.])
+fi
+
+AM_CONDITIONAL(HAVE_NM, test "x$have_nm" = "xyes")
+AM_CONDITIONAL(HAVE_CONNMAN, test "x$have_connman" = "xyes")
+
 # -----------------------------------------------------------
 # Webkit
 # -----------------------------------------------------------
@@ -180,7 +281,6 @@ fi
 if test "x$enable_webkit" = "xyes" -a "x$have_webkit" != "xyes"; then
    AC_MSG_ERROR([Couldn't find webkit dependencies.])
 fi
-
 AM_CONDITIONAL(HAVE_WEBKIT, test "x$have_webkit" = "xyes")
 
 # -----------------------------------------------------------
@@ -232,9 +332,9 @@ AC_ARG_ENABLE(map,
 if test "x$enable_map" != "xno"; then
    PKG_CHECK_MODULES(LIBCHAMPLAIN,
    [
-      champlain-0.3 >= $LIBCHAMPLAIN_REQUIRED,
-      champlain-gtk-0.3 >= $LIBCHAMPLAIN_GTK_REQUIRED
-      clutter-gtk-0.8 >= $CLUTTER_GTK_REQUIRED
+      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_libchamplain" = "xyes"; then
@@ -280,117 +380,56 @@ AC_SUBST(GEOCLUE_CFLAGS)
 AC_SUBST(GEOCLUE_LIBS)
 
 # -----------------------------------------------------------
-# Megaphone
+# moblin widgets support
 # -----------------------------------------------------------
-AC_ARG_ENABLE(megaphone,
-              AS_HELP_STRING([--enable-megaphone=@<:@no/yes/auto@:>@],
-                             [build megaphone applet]), ,
-                             enable_megaphone=auto)
-
-if test "x$enable_megaphone" != "xno"; then
-   PKG_CHECK_MODULES(MEGAPHONE, 
-   [
-      libpanelapplet-2.0 >= $LIBPANELAPPLET_REQUIRED
-      glib-2.0 >= $GLIB_REQUIRED
-      gtk+-2.0 >= $GTK_REQUIRED
-      gconf-2.0 >= $GCONF_REQUIRED
-      libmissioncontrol >= $MISSION_CONTROL_REQUIRED
-   ], have_megaphone="yes", have_megaphone="no")
+AC_ARG_ENABLE(moblin,
+              AS_HELP_STRING([--enable-moblin=@<:no/yes@:>@],
+                             [Enable moblin widgets]), ,
+                             enable_moblin=no)
+
+if test "x$enable_moblin" != "xno"; then
+    PKG_CHECK_MODULES(MOBLIN,
+    [
+       nbtk-gtk-1.2
+    ], have_moblin="yes", have_moblin="no")
+
+    if test "x$have_moblin" = "xyes"; then
+       AC_DEFINE(HAVE_MOBLIN, 1, [Define if you have moblin])
+    fi
 else
-   have_megaphone=no
+   have_moblin="no"
 fi
 
-if test "x$enable_megaphone" = "xyes" -a "x$have_megaphone" != "xyes"; then
-   AC_MSG_ERROR([Couldn't find megaphone dependencies.])
+if test "x$enable_moblin" = "xyes" -a "x$have_moblin" != "xyes"; then
+   AC_MSG_ERROR([Couldn't find moblin dependencies.])
 fi
 
-AM_CONDITIONAL(HAVE_MEGAPHONE, test "x$have_megaphone" = "xyes")
+AM_CONDITIONAL(HAVE_MOBLIN, test "x$have_moblin" = "xyes")
+AC_SUBST(MOBLIN_CFLAGS)
+AC_SUBST(MOBLIN_LIBS)
 
 # -----------------------------------------------------------
-# Nothere
+# nautilus-sendto
 # -----------------------------------------------------------
-AC_ARG_ENABLE(nothere,
-              AS_HELP_STRING([--enable-nothere=@<:@no/yes/auto@:>@],
-                             [build nothere applet]), ,
-                             enable_nothere=auto)
+AC_ARG_ENABLE(nautilus-sendto,
+              AS_HELP_STRING([--enable-nautilus-sendto=@<:@no/yes/auto@:>@],
+                             [build nautilus-sendto plugin]), ,
+                             enable_nautilus_sendto=auto)
 
-if test "x$enable_nothere" != "xno"; then
-   PKG_CHECK_MODULES(NOTHERE, 
+if test "x$enable_nautilus_sendto" != "xno"; then
+   PKG_CHECK_MODULES(NST,
    [
-      libpanelapplet-2.0 >= $LIBPANELAPPLET_REQUIRED
-      glib-2.0 >= $GLIB_REQUIRED
-      gtk+-2.0 >= $GTK_REQUIRED
-      gconf-2.0 >= $GCONF_REQUIRED
-      libmissioncontrol >= $MISSION_CONTROL_REQUIRED
-   ], have_nothere="yes", have_nothere="no")
+      nautilus-sendto >= $NAUTILUS_SENDTO_REQUIRED
+   ], have_nst="yes", have_nst="no")
 else
-   have_nothere=no
+   have_nst=no
 fi
 
-if test "x$enable_nothere" = "xyes" -a "x$have_nothere" != "xyes"; then
-   AC_MSG_ERROR([Couldn't find nothere dependencies.])
+if test "x$enable_nautilus_sendto" = "xyes" -a "x$have_nst" != "xyes"; then
+   AC_MSG_ERROR([Couldn't find nautilus-sendto dependencies.])
 fi
 
-AM_CONDITIONAL(HAVE_NOTHERE, test "x$have_nothere" = "xyes")
-
-# -----------------------------------------------------------
-# Tests
-# -----------------------------------------------------------
-AC_ARG_ENABLE(tests,
-              AS_HELP_STRING([--enable-tests=@<:@no/yes/auto@:>@],
-                             [build tests]), ,
-                             enable_tests=auto)
-
-if test "x$enable_tests" != "xno"; then
-   PKG_CHECK_MODULES(CHECK,
-   [
-      check >= 0.9.4
-   ], have_check="yes", have_check="no")
-else
-   have_check=no
-fi
-
-if test "x$enable_tests" = "xyes" -a "x$have_check" != "xyes"; then
-   AC_MSG_ERROR([Couldn't find check dependencies.])
-fi
-
-AM_CONDITIONAL(HAVE_TESTS, test "x$have_check" = "xyes")
-
-# -----------------------------------------------------------
-# Python Bindings
-# -----------------------------------------------------------
-AC_ARG_ENABLE(python,
-              AS_HELP_STRING([--enable-python=@<:@no/yes/auto@:>@],
-                             [build python bindings to libempathy and libempathy-gtk]), ,
-                             enable_python=auto)
-
-if test "x$enable_python" != "xno"; then
-   PKG_CHECK_MODULES(PYTHON_BINDING,
-   [
-      pygtk-2.0,
-      glib-2.0 >= $GLIB_REQUIRED
-      gobject-2.0
-      gconf-2.0 >= $GCONF_REQUIRED
-      libxml-2.0
-      libmissioncontrol >= $MISSION_CONTROL_REQUIRED
-      gtk+-2.0 >= $GTK_REQUIRED
-      gstreamer-0.10
-      gstreamer-interfaces-0.10
-      telepathy-farsight
-   ], have_python="yes", have_python="no")
-   if test "x$have_python" = "xyes" ; then
-      AM_CHECK_PYTHON_HEADERS(,have_python="no")
-      AC_CHECK_PROGS([PYGOBJECTCODEGEN], [pygobject-codegen-2.0 pygtk-codegen-2.0])
-   fi
-else
-   have_python=no
-fi
-
-if test "x$enable_python" = "xyes" -a "x$have_python" != "xyes"; then
-   AC_MSG_ERROR([Couldn't find python.])
-fi
-
-AM_CONDITIONAL(HAVE_PYTHON, test "x$have_python" = "xyes")
+AM_CONDITIONAL(HAVE_NST, test "x$have_nst" = "xyes")
 
 # -----------------------------------------------------------
 # Coding style checks
@@ -413,26 +452,12 @@ AC_OUTPUT([
    extensions/Makefile
    po/Makefile.in
    libempathy/Makefile
-   libempathy/libempathy.pc
    libempathy-gtk/Makefile
-   libempathy-gtk/libempathy-gtk.pc
    src/Makefile
-   megaphone/Makefile
-   megaphone/src/Makefile
-   megaphone/data/Makefile
-   nothere/Makefile
-   nothere/src/Makefile
-   nothere/data/Makefile
-   docs/Makefile
-   docs/libempathy/Makefile
-   docs/libempathy/version.xml
-   docs/libempathy-gtk/Makefile
-   docs/libempathy-gtk/version.xml
+   nautilus-sendto-plugin/Makefile
    help/Makefile
-   python/Makefile
-   python/pyempathy/Makefile
-   python/pyempathygtk/Makefile
    tests/Makefile
+   tests/interactive/Makefile
    tests/xml/Makefile
    tools/Makefile
    shave
@@ -443,10 +468,9 @@ echo "
 Configure summary:
 
        Compiler....................:  ${CC}
-       Compiler Flags..............:  ${CFLAGS}
+       Compiler Flags..............:  ${CFLAGS} ${ERROR_CFLAGS}
        Prefix......................:  ${prefix}
        Shaved build................:  ${enable_shave}
-       Tests.......................:  ${have_check}
        Coding style checks.........:  ${ENABLE_CODING_STYLE_CHECKS}
 
     Features:
@@ -454,10 +478,12 @@ Configure summary:
        Display maps (libchamplain).:  ${have_libchamplain}
        Location awareness (Geoclue):  ${have_geoclue}
        Adium themes (Webkit).......:  ${have_webkit}
+       Moblin widgets .............:  ${have_moblin}
+
+    Connectivity:
+       NetworkManager integration..:  ${have_nm}
+       ConnMan integration.........:  ${have_connman}
 
     Extras:
-       Documentation...............:  ${enable_gtk_doc}
-       Python bindings.............:  ${have_python}
-       Megaphone applet............:  ${have_megaphone}
-       Nothere applet..............:  ${have_nothere}
+       Nautilus-sendto plugin......:  ${have_nst}
 "