chiark / gitweb /
Add documentation and administrivia about `disorder-gstdecode'.
[disorder] / configure.ac
index 6b894b96dac00ca7dc4cfc370ada21b8886933c8..e73ea47bbcacaf599d1e40fef78bf8d14f9ea8f7 100644 (file)
@@ -33,6 +33,7 @@ want_gtk=yes
 want_python=yes
 want_tests=yes
 want_server=yes
+want_gstdecode=whatever
 want_cgi=yes
 
 # APIs we want
@@ -108,6 +109,7 @@ case "$host" in
  ;;
 *linux* | *Linux* )
   AC_MSG_RESULT([Linux])
+  AC_DEFINE_UNQUOTED([PATH_PROC_MOUNTS],["/proc/mounts"],[path to kernel mount list])
   ;;
 *-apple-darwin* )
   AC_MSG_RESULT([Mac OS X])
@@ -241,9 +243,14 @@ AC_ARG_WITH([python],
            [AS_HELP_STRING([--without-python],
                            [do not build Python support])],
            [want_python=$withval])
+AC_ARG_WITH([gstdecode],
+            [AS_HELP_STRING([--with-gstdecode],
+                           [require GStreamer-based decoder])],
+            [want_gstdecode=$withval])
 
 if test $want_server = no; then
   want_cgi=no
+  want_gstdecode=no
 fi
 
 #
@@ -429,6 +436,38 @@ fi
 AC_SUBST([finkdir])
 AC_SUBST([finkbindir])
 
+# Checks for packages.
+case $want_gstdecode in
+  yes | whatever)
+    PKG_CHECK_MODULES([GSTREAMER], [gstreamer-0.10],
+        [have_gstreamer=yes], [have_gstreamer=no])
+    PKG_CHECK_MODULES([GSTREAMER_PLUGINS_BASE],
+        [gstreamer-plugins-base-0.10],
+        [have_gst_plugins_base=yes], [have_gst_plugins_base=no])
+    ;;
+esac
+case $want_gstdecode,$have_gstreamer,$have_gst_plugins_base in
+  whatever,yes,yes | yes,yes,yes) want_gstdecode=yes ;;
+  whatever,*) want_gstdecode=no ;;
+  yes,*)
+    case $have_gstreamer in
+      no) missing_libraries="$missing_libraries gstreamer-0.10" ;;
+    esac
+    case $have_gst_plugins_base in
+      no) missing_libraries="$missing_libraries gstreamer-plugins-base-0.10" ;;
+    esac
+esac
+
+mdw_SAVE_CFLAGS=$CFLAGS
+mdw_SAVE_LIBS=$LIBS
+CFLAGS="$CFLAGS $GSTREAMER_CFLAGS $GSTREAMER_PLUGINS_BASE_CFLAGS"
+LIBS="$LIBS \
+        $GSTREAMER_LIBS $GSTREAMER_PLUGINS_BASE_LIBS
+        -lgstaudio-0.10 -lgstapp-0.10"
+AC_CHECK_FUNCS([gst_audio_info_from_caps])
+CFLAGS=$mdw_SAVE_CFLAGS
+LIBS=$mdw_SAVE_LIBS
+
 # Checks for libraries.
 # We save up a list of missing libraries that we can't do without
 # and report them all at once.
@@ -698,6 +737,7 @@ if test $want_gtk = yes; then
   AC_DEFINE([WITH_GTK], [1], [define if using GTK+])
 fi
 AM_CONDITIONAL([GTK], [test x$want_gtk = xyes])
+AM_CONDITIONAL([GSTDECODE], [test x$want_gstdecode = xyes])
 
 if test "x$GCC" = xyes; then
   # We need LLONG_MAX and annoyingly GCC doesn't always give it to us
@@ -728,13 +768,13 @@ if test "x$GCC" = xyes; then
     if test $GCC = yes; then
       CC="$CC -Wall -Werror"
     fi
-    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
       static int x(char *f) {
        return *f;
       }
       int z(const char *g) {
        return x((char *)g);
-      }])],
+      }],[])],
       [rjk_cv_pr29478=no],
       [rjk_cv_pr29478=yes]
     )