X-Git-Url: https://git.0d.be/?p=empathy.git;a=blobdiff_plain;f=configure.ac;h=952ff13cdf194e24be1a3b621c540ef2f63668be;hp=bc0491cae2c0ce97e237283b12366ada98f969e2;hb=f3842fe890a0819331c3a5901437c88b2e88d282;hpb=900bb42ee52f895dd7c6ce252e7f6104968d1bf8 diff --git a/configure.ac b/configure.ac index bc0491ca..952ff13c 100644 --- a/configure.ac +++ b/configure.ac @@ -1,54 +1,59 @@ -AC_INIT(Empathy, 2.27.90, 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], [92]) +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=28 -LIBEMPATHY_AGE=1 -LIBEMPATHY_REVISION=0 - -LIBEMPATHY_GTK_CURRENT=26 -LIBEMPATHY_GTK_AGE=1 -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.34 -MISSION_CONTROL_REQUIRED=4.61 +TELEPATHY_GLIB_REQUIRED=0.9.2 +TELEPATHY_LOGGER=0.1.1 ENCHANT_REQUIRED=1.2.0 ISO_CODES_REQUIRED=0.35 LIBNOTIFY_REQUIRED=0.4.4 LIBCANBERRA_GTK_REQUIRED=0.4 -LIBCHAMPLAIN_REQUIRED=0.3.6 -LIBCHAMPLAIN_GTK_REQUIRED=0.3.6 +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]) @@ -58,6 +63,12 @@ AC_CONFIG_AUX_DIR(.) GNOME_COMMON_INIT AM_INIT_AUTOMAKE(1.9 dist-bzip2 no-define -Wno-portability) + +# Support silent build rules, requires at least automake-1.11. Disable +# by either passing --disable-silent-rules to configure or passing V=1 +# to make +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + AC_ISC_POSIX AC_PROG_CC AC_HEADER_STDC @@ -66,14 +77,15 @@ 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) AM_GCONF_SOURCE_2 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 @@ -83,6 +95,70 @@ 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) + +# ----------------------------------------------------------- +# 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 # ----------------------------------------------------------- @@ -95,7 +171,6 @@ 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 @@ -111,7 +186,6 @@ PKG_CHECK_MODULES(LIBEMPATHYGTK, gtk+-2.0 >= $GTK_REQUIRED libcanberra-gtk >= $LIBCANBERRA_GTK_REQUIRED telepathy-glib >= $TELEPATHY_GLIB_REQUIRED - libmissioncontrol >= $MISSION_CONTROL_REQUIRED farsight2-0.10 gstreamer-0.10 gstreamer-interfaces-0.10 @@ -127,9 +201,25 @@ PKG_CHECK_MODULES(EMPATHY, libebook-1.2 dbus-glib-1 telepathy-glib >= $TELEPATHY_GLIB_REQUIRED - libmissioncontrol >= $MISSION_CONTROL_REQUIRED telepathy-farsight + farsight2-0.10 gstreamer-0.10 + unique-1.0 + gnome-keyring-1 >= $KEYRING_REQUIRED +]) + +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 ]) PKG_CHECK_MODULES(LIBNOTIFY, libnotify >= $LIBNOTIFY_REQUIRED) @@ -190,6 +280,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 @@ -279,8 +379,8 @@ 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 + 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") @@ -327,117 +427,114 @@ AC_SUBST(GEOCLUE_CFLAGS) AC_SUBST(GEOCLUE_LIBS) # ----------------------------------------------------------- -# Megaphone +# meego 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(meego, + AS_HELP_STRING([--enable-meego=@<:no/yes@:>@], + [Enable meego widgets]), , + enable_meego=no) + +if test "x$enable_meego" != "xno"; then + PKG_CHECK_MODULES(MEEGO, + [ + mx-gtk-1.0 + ], have_meego="yes", have_meego="no") + + 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_megaphone=no + have_meego="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_meego" = "xyes" -a "x$have_meego" != "xyes"; then + AC_MSG_ERROR([Couldn't find meego dependencies.]) fi -AM_CONDITIONAL(HAVE_MEGAPHONE, test "x$have_megaphone" = "xyes") +AM_CONDITIONAL(HAVE_MEEGO, test "x$have_meego" = "xyes") +AC_SUBST(MEEGO_CFLAGS) +AC_SUBST(MEEGO_LIBS) # ----------------------------------------------------------- -# Nothere +# favourite contacts support # ----------------------------------------------------------- -AC_ARG_ENABLE(nothere, - AS_HELP_STRING([--enable-nothere=@<:@no/yes/auto@:>@], - [build nothere applet]), , - enable_nothere=auto) - -if test "x$enable_nothere" != "xno"; then - PKG_CHECK_MODULES(NOTHERE, - [ - 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") +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_nothere=no + have_favourite_contacts="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_favourite_contacts" = "xyes" -a "x$have_favourite_contacts" != "xyes"; then + AC_MSG_ERROR([Couldn't find favourite contacts dependencies.]) fi -AM_CONDITIONAL(HAVE_NOTHERE, test "x$have_nothere" = "xyes") +AM_CONDITIONAL(HAVE_FAVOURITE_CONTACTS, test "x$have_telepathy_logger" = "xyes") # ----------------------------------------------------------- -# Tests +# nautilus-sendto # ----------------------------------------------------------- -AC_ARG_ENABLE(tests, - AS_HELP_STRING([--enable-tests=@<:@no/yes/auto@:>@], - [build tests]), , - enable_tests=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_tests" != "xno"; then - PKG_CHECK_MODULES(CHECK, +if test "x$enable_nautilus_sendto" != "xno"; then + PKG_CHECK_MODULES(NST, [ - check >= 0.9.4 - ], have_check="yes", have_check="no") + nautilus-sendto >= $NAUTILUS_SENDTO_REQUIRED + ], have_nst="yes", have_nst="no") else - have_check=no + have_nst=no fi -if test "x$enable_tests" = "xyes" -a "x$have_check" != "xyes"; then - AC_MSG_ERROR([Couldn't find check 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_TESTS, test "x$have_check" = "xyes") +AM_CONDITIONAL(HAVE_NST, test "x$have_nst" = "xyes") # ----------------------------------------------------------- -# Python Bindings +# new, single-window control center # ----------------------------------------------------------- -AC_ARG_ENABLE(python, - AS_HELP_STRING([--enable-python=@<:@no/yes/auto@:>@], - [build python bindings to libempathy and libempathy-gtk]), , - enable_python=auto) +AC_ARG_ENABLE(control_center_embedding, + AS_HELP_STRING([--enable-control-center-embedding=@<:@no/yes/auto@:>@], + [Enable support for single-window control center]), + , enable_control_center_embedding=auto) -if test "x$enable_python" != "xno"; then - PKG_CHECK_MODULES(PYTHON_BINDING, +if test "x$enable_control_center_embedding" != "xno"; then + PKG_CHECK_MODULES(CONTROL_CENTER_EMBEDDING, [ - 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]) + libgnome-control-center-extension + ], 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]) fi else - have_python=no + have_control_center_embedding="no" fi -if test "x$enable_python" = "xyes" -a "x$have_python" != "xyes"; then - AC_MSG_ERROR([Couldn't find python.]) +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.]) fi -AM_CONDITIONAL(HAVE_PYTHON, test "x$have_python" = "xyes") +AM_CONDITIONAL(HAVE_CONTROL_CENTER_EMBEDDING, test "x$have_control_center_embedding" = "xyes") +AC_SUBST(CONTROL_CENTER_EMBEDDING_CFLAGS) +AC_SUBST(CONTROL_CENTER_EMBEDDING_LIBS) # ----------------------------------------------------------- # Coding style checks @@ -450,50 +547,31 @@ AC_ARG_ENABLE(coding-style-checks, AC_SUBST([ENABLE_CODING_STYLE_CHECKS]) # ----------------------------------------------------------- -SHAVE_INIT(.) - AC_OUTPUT([ Makefile data/Makefile data/empathy.desktop.in + data/empathy-accounts.desktop.in data/icons/Makefile 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 - shave-libtool ]) 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: @@ -501,14 +579,17 @@ Configure summary: Display maps (libchamplain).: ${have_libchamplain} 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} Extras: - Documentation...............: ${enable_gtk_doc} - Python bindings.............: ${have_python} - Megaphone applet............: ${have_megaphone} - Nothere applet..............: ${have_nothere} + Nautilus-sendto plugin......: ${have_nst} "