chiark / gitweb /
Check whether libao has a working plugin interface and don't build the
[disorder] / configure.ac
index e48cce252c3c2b1517ecc004fb2783f5cdb7611b..3c1125c4413afd746db2ae26a5e6981bc318aff2 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autoconf to produce a configure script.
 #
 # This file is part of DisOrder.
-# Copyright (C) 2004-2009 Richard Kettlewell
+# Copyright (C) 2004-2010 Richard Kettlewell
 # Portions copyright (C) 2007 Ross Younger
 #
 # This program is free software: you can redistribute it and/or modify
@@ -326,6 +326,11 @@ if test -z "$pkghttpdir"; then
 fi
 AC_SUBST([pkghttpdir])
 
+if test -z "$dochtmldir"; then
+  dochtmldir='$(docdir)/html'
+fi
+AC_SUBST([dochtmldir])
+
 subdirs="scripts lib"
 if test $want_tests = yes; then
   subdirs="${subdirs} libtests"
@@ -333,7 +338,10 @@ fi
 subdirs="${subdirs} clients doc examples debian"
 
 if test $want_server = yes; then
-  subdirs="${subdirs} server plugins driver sounds"
+  subdirs="${subdirs} server plugins sounds"
+  if test "$rjk_cv_libao_plugin_api_works" = yes; then
+    subdirs="${subdirs} driver"
+  fi
 fi
 if test $want_cgi = yes; then
   subdirs="${subdirs} cgi templates images"
@@ -460,6 +468,19 @@ if test $want_server = yes; then
   AC_CHECK_LIB([FLAC], [FLAC__stream_decoder_new],
               [AC_SUBST(LIBFLAC,[-lFLAC])],
               [missing_libraries="$missing_libraries libFLAC"])
+  if test $ac_cv_lib_ao_ao_initialize = yes; then
+    # libao 1.0.0 breaks the plugin interface
+    AC_CACHE_CHECK([whether libao has a working plugin interface],
+                   [rjk_cv_libao_plugin_api_works],[
+      AC_COMPILE_IFELSE([#include <ao/ao.h>
+#include <ao/plugin.h>
+
+int ao_plugin_device_init(ao_device *d) {
+  d->internal = 0;
+}],[rjk_cv_libao_plugin_api_works=yes],[rjk_cv_libao_plugin_api_works=no])])
+  else
+    rjk_cv_libao_plugin_api_works=no
+  fi
 fi
 AC_CHECK_LIB([pthread], [pthread_create],
              [AC_SUBST(LIBPTHREAD,[-lpthread])],
@@ -680,6 +701,7 @@ AM_CONDITIONAL([SERVER], [test x$want_server = xyes])
 if test $want_gtk = yes; then
   AC_DEFINE([WITH_GTK], [1], [define if using GTK+])
 fi
+AM_CONDITIONAL([GTK], [test x$want_gtk = xyes])
 
 if test "x$GCC" = xyes; then
   # We need LLONG_MAX and annoyingly GCC doesn't always give it to us
@@ -823,6 +845,7 @@ AC_CONFIG_FILES([Makefile
                 cgi/Makefile
                 clients/Makefile
                 disobedience/Makefile
+                disobedience/manual/Makefile
                 doc/Makefile
                 templates/Makefile
                 plugins/Makefile