Commit 6e3981da authored by Xavier Claessens's avatar Xavier Claessens

[darcs-to-svn @ Cleanup build system and add MC plugin]

svn path=/trunk/; revision=29
parent 214850e4
#!/bin/sh #!/bin/sh
# Run this to generate all the initial makefiles, etc. set -e
: ${AUTOCONF=autoconf} autoreconf -i --force
: ${AUTOHEADER=autoheader}
: ${AUTOMAKE=automake-1.9} run_configure=true
: ${ACLOCAL=aclocal-1.9} for arg in $*; do
: ${LIBTOOLIZE=libtoolize} case $arg in
: ${INTLTOOLIZE=intltoolize} --no-configure)
: ${LIBTOOL=libtool} run_configure=false
: ${GNOME_DOC_PREPARE=gnome-doc-prepare} ;;
*)
srcdir=`dirname $0` ;;
test -z "$srcdir" && srcdir=. esac
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
done done
conf_flags="--enable-maintainer-mode" if test $run_configure = true; then
./configure "$@"
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.
fi fi
...@@ -26,17 +26,40 @@ GTK_REQUIRED=2.10.0 ...@@ -26,17 +26,40 @@ GTK_REQUIRED=2.10.0
GCONF_REQUIRED=1.2.0 GCONF_REQUIRED=1.2.0
LIBGLADE_REQUIRED=2.0.0 LIBGLADE_REQUIRED=2.0.0
TELEPATHY_REQUIRED=0.0.51 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` GLIB_GENMARSHAL=`$PKG_CONFIG glib-2.0 --variable=glib_genmarshal`
AC_SUBST(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 -----------------------------------------------------------
dnl Pkg-Config dependency checks dnl Pkg-Config dependency checks
dnl ----------------------------------------------------------- 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, PKG_CHECK_MODULES(EMPATHY,
[ [
glib-2.0 >= $GLIB_REQUIRED glib-2.0 >= $GLIB_REQUIRED
...@@ -49,15 +72,14 @@ PKG_CHECK_MODULES(EMPATHY, ...@@ -49,15 +72,14 @@ PKG_CHECK_MODULES(EMPATHY,
libmissioncontrol >= $MISSION_CONTROL_REQUIRED libmissioncontrol >= $MISSION_CONTROL_REQUIRED
]) ])
dnl ----------------------------------------------------------- PKG_CHECK_MODULES(MISSION_CONTROL_PLUGINS,
dnl Language Support [
dnl ----------------------------------------------------------- mission-control >= $MISSION_CONTROL_REQUIRED
GETTEXT_PACKAGE=empathy glib-2.0 >= $GLIB_REQUIRED
AC_SUBST(GETTEXT_PACKAGE) gobject-2.0
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[Gettext package name]) dbus-glib-1
libtelepathy >= $TELEPATHY_REQUIRED
AM_GLIB_GNU_GETTEXT ])
dnl ----------------------------------------------------------- dnl -----------------------------------------------------------
AC_OUTPUT([ AC_OUTPUT([
......
AM_CPPFLAGS = \ AM_CPPFLAGS = \
-I. \
-I$(top_srcdir) \
-DDATADIR=\""$(datadir)"\" \
-DLOCALEDIR=\""$(datadir)/locale"\" \
$(EMPATHY_CFLAGS) \ $(EMPATHY_CFLAGS) \
$(WARN_CFLAGS) $(WARN_CFLAGS)
AM_LDFLAGS = \
$(top_builddir)/libempathy/libempathy.la \
$(EMPATHY_LIBS)
noinst_LTLIBRARIES = libempathy-gtk.la noinst_LTLIBRARIES = libempathy-gtk.la
libempathy_gtk_la_SOURCES = \ libempathy_gtk_la_SOURCES = \
...@@ -32,10 +32,6 @@ libempathy_gtk_la_SOURCES = \ ...@@ -32,10 +32,6 @@ libempathy_gtk_la_SOURCES = \
gossip-presence-chooser.c gossip-presence-chooser.h \ gossip-presence-chooser.c gossip-presence-chooser.h \
gossip-ui-utils.c gossip-ui-utils.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/ libempathy_gtk_includedir = $(includedir)/empathy/
gladedir = $(datadir)/empathy gladedir = $(datadir)/empathy
......
AM_CPPFLAGS = \ AM_CPPFLAGS = \
-I. \
-I$(top_srcdir) \
-DDATADIR=\""$(datadir)"\" \ -DDATADIR=\""$(datadir)"\" \
-DLOCALEDIR=\""$(datadir)/locale"\" \ -DLOCALEDIR=\""$(datadir)/locale"\" \
$(EMPATHY_CFLAGS) \ $(LIBEMPATHY_CFLAGS) \
$(WARN_CFLAGS) $(WARN_CFLAGS)
AM_LDFLAGS = \
$(LIBEMPATHY_LIBS)
BUILT_SOURCES = \ BUILT_SOURCES = \
empathy-marshal.h \ empathy-marshal.h \
empathy-marshal.c \ empathy-marshal.c \
...@@ -30,9 +31,6 @@ libempathy_la_SOURCES = \ ...@@ -30,9 +31,6 @@ libempathy_la_SOURCES = \
empathy-chandler.c empathy-chandler.h \ empathy-chandler.c empathy-chandler.h \
empathy-marshal-main.c empathy-marshal-main.c
libempathy_la_LIBADD = \
$(EMPATHY_LIBS)
libempathy_includedir = $(includedir)/empathy/ libempathy_includedir = $(includedir)/empathy/
%-marshal.h: %-marshal.list Makefile.am %-marshal.h: %-marshal.list Makefile.am
......
AM_CPPFLAGS = \ cflags = $(EMPATHY_CFLAGS) \
-I$(top_srcdir) \ $(WARN_CFLAGS)
-DPREFIX="\"$(prefix)"\" \
-DSYSCONFDIR=\""$(sysconfdir)"\" \ libs = $(top_builddir)/libempathy/libempathy.la \
-DDATADIR=\""$(datadir)"\" \
-DLIBDIR=\""$(libdir)"\" \
$(EMPATHY_CFLAGS) \
$(WARN_CFLAGS)
LDADD = \
$(top_builddir)/libempathy/libempathy.la \
$(top_builddir)/libempathy-gtk/libempathy-gtk.la \ $(top_builddir)/libempathy-gtk/libempathy-gtk.la \
$(EMPATHY_LIBS) $(EMPATHY_LIBS)
bin_PROGRAMS = empathy empathy-accounts empathy-chat empathy-contact-list bin_PROGRAMS = empathy empathy-accounts empathy-chat empathy-contact-list
empathy_SOURCES = \
empathy-main.c
empathy_accounts_SOURCES = \ empathy_SOURCES = empathy-main.c
empathy-accounts-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_contact_list_SOURCES = empathy-contact-list-main.c
empathy-chat-main.c empathy_contact_list_CPPFLAGS = $(cflags)
empathy_contact_list_LDFLAGS = $(libs)
empathy_contact_list_SOURCES = \ # MC plugin
empathy-contact-list-main.c 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 # Dbus service file
servicedir = $(datadir)/dbus-1/services servicedir = $(datadir)/dbus-1/services
......
/* -*- 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);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment