aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--autogen.sh185
-rw-r--r--configure.ac44
-rw-r--r--libempathy-gtk/Makefile.am12
-rw-r--r--libempathy/Makefile.am10
-rw-r--r--src/Makefile.am42
-rw-r--r--src/empathy-filter-plugin.c61
6 files changed, 140 insertions, 214 deletions
diff --git a/autogen.sh b/autogen.sh
index 1b93b756f..135edc475 100644
--- a/autogen.sh
+++ b/autogen.sh
@@ -1,174 +1,19 @@
#!/bin/sh
-# Run this to generate all the initial makefiles, etc.
-
-: ${AUTOCONF=autoconf}
-: ${AUTOHEADER=autoheader}
-: ${AUTOMAKE=automake-1.9}
-: ${ACLOCAL=aclocal-1.9}
-: ${LIBTOOLIZE=libtoolize}
-: ${INTLTOOLIZE=intltoolize}
-: ${LIBTOOL=libtool}
-: ${GNOME_DOC_PREPARE=gnome-doc-prepare}
-
-srcdir=`dirname $0`
-test -z "$srcdir" && srcdir=.
-
-ORIGDIR=`pwd`
-cd $srcdir
-PROJECT="empathy"
-TEST_TYPE=-f
-CONFIGURE=configure.ac
-
-DIE=0
-
-($AUTOCONF --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "You must have autoconf installed to compile $PROJECT."
- echo "Download the appropriate package for your distribution,"
- echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
- DIE=1
-}
-
-(grep "^AC_PROG_INTLTOOL" $srcdir/$CONFIGURE >/dev/null) && {
- ($INTLTOOLIZE --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "You must have \`intltoolize' installed to compile $PROJECT."
- echo "Get ftp://ftp.gnome.org/pub/GNOME/stable/sources/intltool/intltool-0.35.tar.gz"
- echo "(or a newer version if it is available)"
- DIE=1
- }
-}
-
-(grep "^GNOME_DOC_INIT" $srcdir/$CONFIGURE >/dev/null) && {
- ($GNOME_DOC_PREPARE --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "You must have \`gnome-doc-prepare' installed to compile $PROJECT."
- DIE=1
- }
-}
-
-($AUTOMAKE --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "You must have automake 1.9 installed to compile $PROJECT."
- echo "Get ftp://ftp.gnu.org/pub/gnu/automake/automake-1.9.6.tar.gz"
- echo "(or a newer version of 1.9.x if it is available)"
- DIE=1
-}
-
-(grep "^AM_PROG_LIBTOOL" $CONFIGURE >/dev/null) && {
- ($LIBTOOL --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "**Error**: You must have \`libtool' installed to compile $PROJECT."
- echo "Get ftp://ftp.gnu.org/pub/gnu/libtool/libtool-1.5.22.tar.gz"
- echo "(or a newer version if it is available)"
- DIE=1
- }
-}
-
-if grep "^AM_[A-Z0-9_]\{1,\}_GETTEXT" "$CONFIGURE" >/dev/null; then
- if grep "sed.*POTFILES" "$CONFIGURE" >/dev/null; then
- GETTEXTIZE=""
- else
- if grep "^AM_GLIB_GNU_GETTEXT" "$CONFIGURE" >/dev/null; then
- GETTEXTIZE="glib-gettextize"
- GETTEXTIZE_URL="ftp://ftp.gtk.org/pub/gtk/v2.0/glib-2.0.0.tar.gz"
- else
- GETTEXTIZE="gettextize"
- GETTEXTIZE_URL="ftp://alpha.gnu.org/gnu/gettext-0.10.35.tar.gz"
- fi
-
- $GETTEXTIZE --version < /dev/null > /dev/null 2>&1
- if test $? -ne 0; then
- echo
- echo "**Error**: You must have \`$GETTEXTIZE' installed to compile $PKG_NAME."
- echo "Get $GETTEXTIZE_URL"
- echo "(or a newer version if it is available)"
- DIE=1
- fi
- fi
-fi
-
-if test "$DIE" -eq 1; then
- exit 1
-fi
-
-test $TEST_TYPE $FILE || {
- echo "You must run this script in the top-level $PROJECT directory"
- exit 1
-}
-
-#if test -z "$*"; then
-# echo "I am going to run ./configure with no arguments - if you wish "
-# echo "to pass any to it, please specify them on the $0 command line."
-#fi
-
-case $CC in
-*xlc | *xlc\ * | *lcc | *lcc\ *) am_opt=--include-deps;;
-esac
-
-for coin in .
-do
- dr=`dirname $coin`
- if test -f $dr/NO-AUTO-GEN; then
- echo skipping $dr -- flagged as no auto-gen
- else
- echo processing $dr
- macrodirs= #`sed -n -e 's,AM_ACLOCAL_INCLUDE(\(.*\)),\1,gp' < $coin`
- ( cd $dr
- aclocalinclude="$ACLOCAL_FLAGS"
- for k in $macrodirs; do
- if test -d $k; then
- aclocalinclude="$aclocalinclude -I $k"
- ##else
- ## echo "**Warning**: No such directory \`$k'. Ignored."
- fi
- done
- if grep "^AM_GLIB_GNU_GETTEXT" $CONFIGURE >/dev/null; then
- if grep "sed.*POTFILES" $CONFIGURE >/dev/null; then
- : do nothing -- we still have an old unmodified $CONFIGURE
- else
- echo "Creating $dr/aclocal.m4 ..."
- test -r $dr/aclocal.m4 || touch $dr/aclocal.m4
- echo "Running glib-gettextize... Ignore non-fatal messages."
- echo "no" | glib-gettextize --force --copy
- echo "Making $dr/aclocal.m4 writable ..."
- test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4
- fi
- fi
- if grep "^IT_PROG_INTLTOOL" $CONFIGURE >/dev/null; then
- echo "Running intltoolize..."
- intltoolize --copy --force --automake
- fi
- if grep "^GNOME_DOC_INIT" $CONFIGURE >/dev/null; then
- echo "Running $GNOME_DOC_PREPARE..."
- $GNOME_DOC_PREPARE --force --copy || exit 1
- fi
- if grep "^AM_PROG_LIBTOOL" $CONFIGURE >/dev/null; then
- echo "Running $LIBTOOLIZE..."
- $LIBTOOLIZE --force --copy
- fi
- echo "Running $ACLOCAL $aclocalinclude ..."
- $ACLOCAL $aclocalinclude
- if grep "^AM_CONFIG_HEADER" $CONFIGURE >/dev/null; then
- echo "Running $AUTOHEADER..."
- $AUTOHEADER
- fi
- echo "Running $AUTOMAKE --gnu $am_opt ..."
- $AUTOMAKE --add-missing --gnu $am_opt
- echo "Running $AUTOCONF ..."
- $AUTOCONF
- )
- fi
+set -e
+
+autoreconf -i --force
+
+run_configure=true
+for arg in $*; do
+ case $arg in
+ --no-configure)
+ run_configure=false
+ ;;
+ *)
+ ;;
+ esac
done
-conf_flags="--enable-maintainer-mode"
-
-cd "$ORIGDIR"
-
-if test x$NOCONFIGURE = x; then
- echo Running $srcdir/configure $conf_flags "$@" ...
- $srcdir/configure $conf_flags "$@" \
- && echo Now type \`make\' to compile $PROJECT || exit 1
-else
- echo Skipping configure process.
+if test $run_configure = true; then
+ ./configure "$@"
fi
diff --git a/configure.ac b/configure.ac
index 2a84a1b7c..d03973ce3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,17 +26,40 @@ GTK_REQUIRED=2.10.0
GCONF_REQUIRED=1.2.0
LIBGLADE_REQUIRED=2.0.0
TELEPATHY_REQUIRED=0.0.51
-MISSION_CONTROL_REQUIRED=4.20
+MISSION_CONTROL_REQUIRED=0.21
+
+IDT_COMPILE_WARNINGS
GLIB_GENMARSHAL=`$PKG_CONFIG glib-2.0 --variable=glib_genmarshal`
AC_SUBST(GLIB_GENMARSHAL)
-IDT_COMPILE_WARNINGS
+pluginlibdir=`$PKG_CONFIG mission-control --variable=pluginlibdir`
+AC_SUBST(pluginlibdir)
+
+dnl -----------------------------------------------------------
+dnl Language Support
+dnl -----------------------------------------------------------
+
+GETTEXT_PACKAGE=empathy
+AC_SUBST(GETTEXT_PACKAGE)
+AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[Gettext package name])
+
+AM_GLIB_GNU_GETTEXT
dnl -----------------------------------------------------------
dnl Pkg-Config dependency checks
dnl -----------------------------------------------------------
+PKG_CHECK_MODULES(LIBEMPATHY,
+[
+ glib-2.0 >= $GLIB_REQUIRED
+ gobject-2.0
+ gconf-2.0 >= $GCONF_REQUIRED
+ libxml-2.0
+ libtelepathy >= $TELEPATHY_REQUIRED
+ libmissioncontrol >= $MISSION_CONTROL_REQUIRED
+])
+
PKG_CHECK_MODULES(EMPATHY,
[
glib-2.0 >= $GLIB_REQUIRED
@@ -49,15 +72,14 @@ PKG_CHECK_MODULES(EMPATHY,
libmissioncontrol >= $MISSION_CONTROL_REQUIRED
])
-dnl -----------------------------------------------------------
-dnl Language Support
-dnl -----------------------------------------------------------
-GETTEXT_PACKAGE=empathy
-AC_SUBST(GETTEXT_PACKAGE)
-AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[Gettext package name])
-
-AM_GLIB_GNU_GETTEXT
-
+PKG_CHECK_MODULES(MISSION_CONTROL_PLUGINS,
+[
+ mission-control >= $MISSION_CONTROL_REQUIRED
+ glib-2.0 >= $GLIB_REQUIRED
+ gobject-2.0
+ dbus-glib-1
+ libtelepathy >= $TELEPATHY_REQUIRED
+])
dnl -----------------------------------------------------------
AC_OUTPUT([
diff --git a/libempathy-gtk/Makefile.am b/libempathy-gtk/Makefile.am
index f6ed2fb3d..2818b2a23 100644
--- a/libempathy-gtk/Makefile.am
+++ b/libempathy-gtk/Makefile.am
@@ -1,11 +1,11 @@
AM_CPPFLAGS = \
- -I. \
- -I$(top_srcdir) \
- -DDATADIR=\""$(datadir)"\" \
- -DLOCALEDIR=\""$(datadir)/locale"\" \
$(EMPATHY_CFLAGS) \
$(WARN_CFLAGS)
+AM_LDFLAGS = \
+ $(top_builddir)/libempathy/libempathy.la \
+ $(EMPATHY_LIBS)
+
noinst_LTLIBRARIES = libempathy-gtk.la
libempathy_gtk_la_SOURCES = \
@@ -32,10 +32,6 @@ libempathy_gtk_la_SOURCES = \
gossip-presence-chooser.c gossip-presence-chooser.h \
gossip-ui-utils.c gossip-ui-utils.h
-libempathy_gtk_la_LIBADD = \
- $(top_builddir)/libempathy/libempathy.la \
- $(EMPATHY_LIBS)
-
libempathy_gtk_includedir = $(includedir)/empathy/
gladedir = $(datadir)/empathy
diff --git a/libempathy/Makefile.am b/libempathy/Makefile.am
index c681aa83f..98349b205 100644
--- a/libempathy/Makefile.am
+++ b/libempathy/Makefile.am
@@ -1,11 +1,12 @@
AM_CPPFLAGS = \
- -I. \
- -I$(top_srcdir) \
-DDATADIR=\""$(datadir)"\" \
-DLOCALEDIR=\""$(datadir)/locale"\" \
- $(EMPATHY_CFLAGS) \
+ $(LIBEMPATHY_CFLAGS) \
$(WARN_CFLAGS)
+AM_LDFLAGS = \
+ $(LIBEMPATHY_LIBS)
+
BUILT_SOURCES = \
empathy-marshal.h \
empathy-marshal.c \
@@ -30,9 +31,6 @@ libempathy_la_SOURCES = \
empathy-chandler.c empathy-chandler.h \
empathy-marshal-main.c
-libempathy_la_LIBADD = \
- $(EMPATHY_LIBS)
-
libempathy_includedir = $(includedir)/empathy/
%-marshal.h: %-marshal.list Makefile.am
diff --git a/src/Makefile.am b/src/Makefile.am
index 83b071790..86ffade6b 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,29 +1,33 @@
-AM_CPPFLAGS = \
- -I$(top_srcdir) \
- -DPREFIX="\"$(prefix)"\" \
- -DSYSCONFDIR=\""$(sysconfdir)"\" \
- -DDATADIR=\""$(datadir)"\" \
- -DLIBDIR=\""$(libdir)"\" \
- $(EMPATHY_CFLAGS) \
- $(WARN_CFLAGS)
-
-LDADD = \
- $(top_builddir)/libempathy/libempathy.la \
+cflags = $(EMPATHY_CFLAGS) \
+ $(WARN_CFLAGS)
+
+libs = $(top_builddir)/libempathy/libempathy.la \
$(top_builddir)/libempathy-gtk/libempathy-gtk.la \
$(EMPATHY_LIBS)
bin_PROGRAMS = empathy empathy-accounts empathy-chat empathy-contact-list
-empathy_SOURCES = \
- empathy-main.c
-empathy_accounts_SOURCES = \
- empathy-accounts-main.c
+empathy_SOURCES = empathy-main.c
+empathy_CPPFLAGS = $(cflags)
+empathy_LDFLAGS = $(libs)
+
+empathy_accounts_SOURCES = empathy-accounts-main.c
+empathy_accounts_CPPFLAGS = $(cflags)
+empathy_accounts_LDFLAGS = $(libs)
+
+empathy_chat_SOURCES = empathy-chat-main.c
+empathy_chat_CPPFLAGS = $(cflags)
+empathy_chat_LDFLAGS = $(libs)
-empathy_chat_SOURCES = \
- empathy-chat-main.c
+empathy_contact_list_SOURCES = empathy-contact-list-main.c
+empathy_contact_list_CPPFLAGS = $(cflags)
+empathy_contact_list_LDFLAGS = $(libs)
-empathy_contact_list_SOURCES = \
- empathy-contact-list-main.c
+# MC plugin
+pluginlib_LTLIBRARIES = libempathy-filter-plugin.la
+libempathy_filter_plugin_la_SOURCES = empathy-filter-plugin.c
+libempathy_filter_plugin_la_CPPFLAGS = $(MISSION_CONTROL_PLUGINS_CFLAGS)
+libempathy_filter_plugin_la_LDFLAGS = $(MISSION_CONTROL_PLUGINS_LIBS)
# Dbus service file
servicedir = $(datadir)/dbus-1/services
diff --git a/src/empathy-filter-plugin.c b/src/empathy-filter-plugin.c
new file mode 100644
index 000000000..8579213f9
--- /dev/null
+++ b/src/empathy-filter-plugin.c
@@ -0,0 +1,61 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/*
+ * Copyright (C) 2007 Collabora Ltd.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Authors: Xavier Claessens <xclaesse@gmail.com>
+ */
+
+#include <glib.h>
+
+#include <mission-control/mcd-dispatcher.h>
+#include <mission-control/mcd-dispatcher-context.h>
+
+static void filter_plugin_text_channel (McdDispatcherContext *ctx);
+
+static McdFilter text_in_filters[] = {
+ {filter_plugin_text_channel, MCD_FILTER_PRIORITY_USER},
+ {NULL, 0}
+};
+
+void
+mcd_filters_init (McdDispatcher *dispatcher)
+{
+ mcd_dispatcher_register_filters (dispatcher,
+ text_in_filters,
+ TELEPATHY_CHAN_IFACE_TEXT_QUARK,
+ MCD_FILTER_IN);
+}
+
+static void
+filter_plugin_text_channel (McdDispatcherContext *ctx)
+{
+ McdChannel *channel;
+ const gchar *channel_name;
+
+ channel = mcd_dispatcher_context_get_channel (ctx);
+ channel_name = mcd_channel_get_name (channel);
+
+ if (strcmp (channel_name, "goerge.w.bush@whitehouse.com") == 0) {
+ g_debug ("Blocking contact");
+ mcd_dispatcher_context_process (ctx, FALSE);
+ return;
+ }
+
+ mcd_dispatcher_context_process (ctx, TRUE);
+}
+