[evolution] Enable building without Canberra-GTK



commit 123923059156c564ccf1fb46aa92675f644ce6bf
Author: Tor Lillqvist <tml iki fi>
Date:   Tue Nov 10 01:57:12 2009 +0200

    Enable building without Canberra-GTK

 calendar/gui/alarm-notify/alarm-queue.c       |    5 +++++
 configure.ac                                  |   10 +++++++++-
 mail/mail-session.c                           |    8 ++++++--
 plugins/mail-notification/mail-notification.c |    9 +++++++++
 4 files changed, 29 insertions(+), 3 deletions(-)
---
diff --git a/calendar/gui/alarm-notify/alarm-queue.c b/calendar/gui/alarm-notify/alarm-queue.c
index 53963da..5544d49 100644
--- a/calendar/gui/alarm-notify/alarm-queue.c
+++ b/calendar/gui/alarm-notify/alarm-queue.c
@@ -30,7 +30,10 @@
 #include <glib.h>
 #include <gtk/gtk.h>
 #include <glib/gi18n.h>
+
+#ifdef HAVE_CANBERRA
 #include <canberra-gtk.h>
+#endif
 
 #include <libecal/e-cal-time-util.h>
 #include <libecal/e-cal-component.h>
@@ -1632,9 +1635,11 @@ audio_notification (time_t trigger, CompQueuedAlarms *cqa,
 			g_error_free (error);
 		} else if (g_file_test (filename, G_FILE_TEST_EXISTS)) {
 			flag = 1;
+#ifdef HAVE_CANBERRA
 			ca_context_play (
 				ca_gtk_context_get(), 0,
 				CA_PROP_MEDIA_FILENAME, filename, NULL);
+#endif
 		}
 
 		g_free (filename);
diff --git a/configure.ac b/configure.ac
index 7115f98..a9a91f7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -254,7 +254,15 @@ PKG_CHECK_MODULES([EVOLUTION_DATA_SERVER],
 dnl ******************************
 dnl Canberra / Canberra-GTK Sound
 dnl ******************************
-PKG_CHECK_MODULES([CANBERRA],[libcanberra-gtk])
+AC_ARG_ENABLE([canberra],
+	[AS_HELP_STRING([--enable-canberra],
+	[Enable Canberra and Canberra-GTK sound @<:@default=yes@:>@])],
+	[enable_canberra="$enableval"], [enable_canberra=yes])
+
+if test $enable_canberra = yes; then
+	PKG_CHECK_MODULES([CANBERRA],[libcanberra-gtk])
+	AC_DEFINE(HAVE_CANBERRA, 1, [Define if using Canberra and Canberra-GTK for sound])
+fi
 AC_SUBST(CANBERRA_CFLAGS)
 AC_SUBST(CANBERRA_LIBS)
 
diff --git a/mail/mail-session.c b/mail/mail-session.c
index 967909d..14aec15 100644
--- a/mail/mail-session.c
+++ b/mail/mail-session.c
@@ -33,7 +33,9 @@
 
 #include <gconf/gconf-client.h>
 
+#ifdef HAVE_CANBERRA
 #include <canberra-gtk.h>
+#endif
 
 #include <libedataserverui/e-passwords.h>
 #include <libedataserver/e-flag.h>
@@ -462,11 +464,13 @@ get_folder (CamelFilterDriver *d, const gchar *uri, gpointer data, CamelExceptio
 static void
 main_play_sound (CamelFilterDriver *driver, gchar *filename, gpointer user_data)
 {
-	if (filename && *filename)
+	if (filename && *filename) {
+#ifdef HAVE_CANBERRA
 		ca_context_play(ca_gtk_context_get(), 0,
 				CA_PROP_MEDIA_FILENAME, filename,
 				NULL);
-	else
+#endif
+	} else
 		gdk_beep ();
 
 	g_free (filename);
diff --git a/plugins/mail-notification/mail-notification.c b/plugins/mail-notification/mail-notification.c
index ab4fcda..22b0eea 100644
--- a/plugins/mail-notification/mail-notification.c
+++ b/plugins/mail-notification/mail-notification.c
@@ -29,7 +29,10 @@
 #include <glib/gi18n.h>
 #include <gtk/gtk.h>
 #include <gconf/gconf-client.h>
+
+#ifdef HAVE_CANBERRA
 #include <canberra-gtk.h>
+#endif
 
 #include <dbus/dbus-glib.h>
 #include <dbus/dbus-glib-lowlevel.h>
@@ -659,12 +662,15 @@ get_config_widget_status (void)
 #define GCONF_KEY_SOUND_PLAY_FILE	GCONF_KEY_ROOT "sound-play-file"
 #define GCONF_KEY_SOUND_USE_THEME       GCONF_KEY_ROOT "sound-use-theme"
 
+#ifdef HAVE_CANBERRA
 static ca_context *mailnotification = NULL;
+#endif
 
 static void
 do_play_sound (gboolean beep, gboolean use_theme, const gchar *file)
 {
 	if (!beep) {
+#ifdef HAVE_CANBERRA
 		if (!use_theme && file && *file)
 			ca_context_play(mailnotification, 0,
 			CA_PROP_MEDIA_FILENAME, file,
@@ -673,6 +679,7 @@ do_play_sound (gboolean beep, gboolean use_theme, const gchar *file)
 			ca_context_play(mailnotification, 0,
 			CA_PROP_EVENT_ID,"message-new-email",
 			NULL);
+#endif
 	}
 	else
 		gdk_beep();
@@ -778,6 +785,7 @@ read_notify_sound (EMEventTargetMessage *t)
 static void
 enable_sound (gint enable)
 {
+#ifdef HAVE_CANBERRA
 	if (enable) {
 		ca_context_create(&mailnotification);
 		ca_context_change_props(
@@ -788,6 +796,7 @@ enable_sound (gint enable)
 	}
 	else
 		ca_context_destroy(mailnotification);
+#endif
 }
 
 static GtkWidget *



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]