Check for GStreamer plugins individually
[projects/chimara/chimara.git] / configure.ac
index 81677ccaf92e1936506ca3e593179a373bbdea2f..3a4364c91011322ca6255eaa14c8d99e046720ef 100644 (file)
@@ -105,6 +105,17 @@ AC_ARG_ENABLE([rpm],
 )
 AM_CONDITIONAL([BUILDING_RPM], [$TEST "x$rpm" = xtrue])
 
+### SOUND LIBRARY TO USE ######################################################
+
+AC_ARG_WITH([gstreamer],
+       [AS_HELP_STRING([--without-gstreamer], [Disable GStreamer sound])],
+       [],
+       [with_gstreamer=yes])
+SOUND_MODULE=
+AS_IF([$TEST "x$with_gstreamer" != xno], 
+       [AC_DEFINE([GSTREAMER_SOUND], [1], [Define to enable sound support with GStreamer])
+       SOUND_MODULE="gstreamer-0.10 >= 0.10.12"])
+
 ### CHECK FOR LIBRARIES #######################################################
 
 # Libraries needed to build Chimara library
@@ -114,6 +125,7 @@ PKG_CHECK_MODULES([CHIMARA], [
        gthread-2.0 
        gmodule-2.0
        pango
+       $SOUND_MODULE
 ])
 CHIMARA_LIBS="$CHIMARA_LIBS -lm"
 AC_SUBST(CHIMARA_LIBS)
@@ -123,6 +135,25 @@ PKG_CHECK_MODULES([TEST], [
        gmodule-2.0 >= $GLIB_REQUIRED_VERSION
 ])
 
+# GStreamer plugins needed to run library
+AS_IF([$TEST "x$with_gstreamer" != xno], [
+       m4_defun([AX_GST_REQUIRE_ELEMENT],
+               [AM_GST_ELEMENT_CHECK([$1],
+                       [],
+                       [AC_MSG_ERROR([GStreamer element $1 not found. You need to install gstreamer-plugins-m4_default([$2], [base]).])]
+               )]
+       )
+       AX_GST_REQUIRE_ELEMENT([giostreamsrc])
+       AX_GST_REQUIRE_ELEMENT([typefind])
+       AX_GST_REQUIRE_ELEMENT([audioconvert])
+       AX_GST_REQUIRE_ELEMENT([volume])
+       AX_GST_REQUIRE_ELEMENT([oggdemux])
+       AX_GST_REQUIRE_ELEMENT([vorbisdec])
+       AX_GST_REQUIRE_ELEMENT([autoaudiosink], [good])
+       AX_GST_REQUIRE_ELEMENT([aiffparse], [bad])
+       AX_GST_REQUIRE_ELEMENT([modplug], [bad])
+])
+
 # Plugin flags; include '-module' in each Makefile.am, because AC_SUBSTed
 # variables are black boxes to Automake, so it has to know about it being a
 # module in the makefile itself.