]> git.0d.be Git - empathy.git/blobdiff - configure.ac
add myself to AUTHORS
[empathy.git] / configure.ac
index 18536b1c9c2809511255de1cc0ca030f01e168e4..6085e9b359903988edfb7cd19aef635bbb7f444b 100644 (file)
@@ -1,35 +1,38 @@
-AC_INIT(Empathy, 2.29.1, 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=30
-LIBEMPATHY_AGE=0
-LIBEMPATHY_REVISION=0
-
-LIBEMPATHY_GTK_CURRENT=28
-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.22.0
-GTK_REQUIRED=2.16.0
+GTK_REQUIRED=2.18.0
 GCONF_REQUIRED=1.2.0
-LIBPANELAPPLET_REQUIRED=2.10.0
-TELEPATHY_GLIB_REQUIRED=0.7.35
+TELEPATHY_GLIB_REQUIRED=0.9.0
 ENCHANT_REQUIRED=1.2.0
 ISO_CODES_REQUIRED=0.35
 LIBNOTIFY_REQUIRED=0.4.4
@@ -41,15 +44,15 @@ GEOCLUE_REQUIRED=0.11
 WEBKIT_REQUIRED=1.1.15
 KEYRING_REQUIRED=2.22
 NETWORK_MANAGER_REQUIRED=0.7.0
-NAUTILUS_SENDTO_REQUIRED=2.28.0.1
+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])
@@ -83,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
 # -----------------------------------------------------------
@@ -126,6 +169,7 @@ PKG_CHECK_MODULES(EMPATHY,
    dbus-glib-1
    telepathy-glib >= $TELEPATHY_GLIB_REQUIRED
    telepathy-farsight
+   farsight2-0.10
    gstreamer-0.10
    unique-1.0
    gnome-keyring-1 >= $KEYRING_REQUIRED
@@ -189,6 +233,16 @@ else
    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
 
@@ -360,9 +414,9 @@ AC_SUBST(MOBLIN_LIBS)
 AC_ARG_ENABLE(nautilus-sendto,
               AS_HELP_STRING([--enable-nautilus-sendto=@<:@no/yes/auto@:>@],
                              [build nautilus-sendto plugin]), ,
-                             enable_nst=auto)
+                             enable_nautilus_sendto=auto)
 
-if test "x$enable_nst" != "xno"; then
+if test "x$enable_nautilus_sendto" != "xno"; then
    PKG_CHECK_MODULES(NST,
    [
       nautilus-sendto >= $NAUTILUS_SENDTO_REQUIRED
@@ -371,35 +425,12 @@ else
    have_nst=no
 fi
 
-if test "x$enable_nst" = "xyes" -a "x$have_nst" != "xyes"; then
+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_NST, test "x$have_nst" = "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")
-
 # -----------------------------------------------------------
 # Coding style checks
 # -----------------------------------------------------------
@@ -421,13 +452,12 @@ AC_OUTPUT([
    extensions/Makefile
    po/Makefile.in
    libempathy/Makefile
-   libempathy/libempathy.pc
    libempathy-gtk/Makefile
-   libempathy-gtk/libempathy-gtk.pc
    src/Makefile
    nautilus-sendto-plugin/Makefile
    help/Makefile
    tests/Makefile
+   tests/interactive/Makefile
    tests/xml/Makefile
    tools/Makefile
    shave
@@ -438,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: