From 3a252ca6f0a5afb04f3874267bfc0a569446bca8 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Thu, 23 Jun 2016 20:12:25 +0200 Subject: [PATCH] make sound a configure option add a --without-sound switch which builds without soundeffect and drops the dependency on gstreamer Signed-off-by: Max Krummenacher --- configure.ac | 9 ++++++++- src/Makefile.am | 5 +++-- src/main.c | 4 ++++ src/style.c | 15 ++++++++++++++- 4 files changed, 29 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac index 971f3df..b12244a 100755 --- a/configure.ac +++ b/configure.ac @@ -12,6 +12,8 @@ AC_ARG_WITH([xtst], AS_HELP_STRING([--without-xtst], [Build without Xtst extensi AM_CONDITIONAL([WITH_XTST], [test "x$with_xtst" != "xno"]) AC_ARG_WITH([xrecord], AS_HELP_STRING([--without-xrecord], [Build without XRecord extension (requires the Xtst extension) (default: enabled)])) AM_CONDITIONAL([WITH_XRECORD], [test "x$with_xrecord" != "xno" -a "x$with_xtst" != "xno"]) +AC_ARG_WITH([sound], AS_HELP_STRING([--without-sound], [Build without sound extension (default: enabled)])) +AM_CONDITIONAL([WITH_SOUND], [test "x$with_sound" != "xno"]) AC_ARG_WITH([at-spi], AS_HELP_STRING([--without-at-spi], [Build without at-spi(default: enabled)])) AM_CONDITIONAL([WITH_AT_SPI], [test "x$with_at_spi" != "xno"]) AC_ARG_WITH([panelapplet], AS_HELP_STRING([--without-panelapplet], [Build without libpanelapplet(default: enabled)])) @@ -61,7 +63,7 @@ if test "x$with_docs" != "xno"; then fi # Checks for libraries. -DEP_MODULES="xext gmodule-2.0 cairo librsvg-2.0 libxml-2.0 gstreamer-1.0" +DEP_MODULES="xext gmodule-2.0 cairo librsvg-2.0 libxml-2.0" PKG_CHECK_MODULES(DEPS, $DEP_MODULES) PKG_CHECK_MODULES([GTK3], [gtk+-3.0], AC_DEFINE([ENABLE_GTK3], [], [GTK3 enabled.]), @@ -86,6 +88,9 @@ if test "x$with_xtst" != "xno"; then AC_DEFINE(ENABLE_XRECORD, ["xrecord"], [xrecord extension is enabled]) fi fi +if test "x$with_sound" != "xno"; then + PKG_CHECK_MODULES([SOUND], gstreamer-1.0, AC_DEFINE([ENABLE_SOUND], [], [Sound enabled.]), AC_MSG_ERROR(Could not configure gstreamer 1.0. Please either install gstreamer 1.0 or disable sound: --without-sound configure option)) +fi if test "x$with_at_spi" != "xno"; then PKG_CHECK_MODULES([AT_SPI2], [atspi-2], AC_DEFINE([ENABLE_AT_SPI2], [], [dbus at-spi enabled.]), AC_MSG_ERROR(Could not configure at-spi. Please either install at-spi or disable it: --without-at-spi configure option)) @@ -103,6 +108,8 @@ AC_SUBST(LIBNOTIFY_CFLAGS) AC_SUBST(LIBNOTIFY_LIBS) AC_SUBST(XTST_CFLAGS) AC_SUBST(XTST_LIBS) +AC_SUBST(SOUND_CFLAGS) +AC_SUBST(SOUND_LIBS) AC_SUBST(AT_SPI2_CFLAGS) AC_SUBST(AT_SPI2_LIBS) AC_SUBST(LIBGNOME_CFLAGS) diff --git a/src/Makefile.am b/src/Makefile.am index 9d38512..9d5a417 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -14,9 +14,10 @@ endif florence_CPPFLAGS = -I$(top_srcdir) -DICONDIR="\"$(ICONDIR)\""\ -DFLORENCELOCALEDIR=\""$(florencelocaledir)"\"\ -DDATADIR="\"$(datadir)/florence\"" $(DEPS_CFLAGS) $(GTK3_CFLAGS)\ - $(LIBGNOME_CFLAGS) $(LIBNOTIFY_CFLAGS) $(XTST_CFLAGS) $(AT_SPI2_CFLAGS) $(INCLUDES) + $(LIBGNOME_CFLAGS) $(LIBNOTIFY_CFLAGS) $(XTST_CFLAGS) $(SOUND_CFLAGS)\ + $(AT_SPI2_CFLAGS) $(INCLUDES) florence_LDADD = $(DEPS_LIBS) $(LIBM) $(X11_LIBS) $(LIBGNOME_LIBS) $(LIBNOTIFY_LIBS)\ - $(XTST_LIBS) $(AT_SPI2_LIBS) $(GTK3_LIBS) -lflorence-1.0 + $(XTST_LIBS) $(SOUND_LIBS) $(AT_SPI2_LIBS) $(GTK3_LIBS) -lflorence-1.0 libflorence_1_0_la_SOURCES = lib/florence.c library_includedir=$(includedir)/florence-1.0 diff --git a/src/main.c b/src/main.c index c5def08..8fe5514 100644 --- a/src/main.c +++ b/src/main.c @@ -23,7 +23,9 @@ #include #include #include +#ifdef ENABLE_SOUND #include +#endif #include "system.h" #include "trace.h" #include "settings.h" @@ -128,7 +130,9 @@ int main (int argc, char **argv) close(pipefd[0]); gtk_init(&argc, &argv); settings_init(FALSE, config_file); +#ifdef ENABLE_SOUND gst_init(&argc, &argv); +#endif if (signal(SIGINT, sig_handler)==SIG_ERR) flo_error(_("Failed to register SIGINT signal handler.")); diff --git a/src/style.c b/src/style.c index e7f58c5..673d348 100644 --- a/src/style.c +++ b/src/style.c @@ -26,8 +26,10 @@ #include #include #include -#include #include "system.h" +#ifdef ENABLE_SOUND +#include +#endif #include "trace.h" #include "key.h" #include "style.h" @@ -546,6 +548,7 @@ GdkPixbuf *style_pixbuf_draw(struct style *style) } /* Liberate the pipeline */ +#ifdef ENABLE_SOUND void style_sound_pipeline_free(GstElement *pipeline) { START_FUNC @@ -660,6 +663,14 @@ void style_sound_play(struct style *style, const gchar *match, enum style_sound_ } END_FUNC } +#else +void style_sound_free(gpointer data, gpointer userdata) +{ +} +void style_sound_play(struct style *style, const gchar *match, enum style_sound_type type) +{ +} +#endif /* create a new style from the layout file */ struct style *style_new(gchar *base_uri) @@ -696,6 +707,7 @@ struct style *style_new(gchar *base_uri) } } +#ifdef ENABLE_SOUND layoutreader_reset(layout); layoutreader_element_open(layout, "style"); if (layoutreader_element_open(layout, "sounds")) { @@ -704,6 +716,7 @@ struct style *style_new(gchar *base_uri) layoutreader_sound_free(sound); } } +#endif layoutreader_free(layout); if (!base_uri) g_free(uri); -- 2.6.6