chiark / gitweb /
disable LC_COLLATE for shell globbing
[disorder] / configure.ac
index a02086436dc9c29fdbef6e6d3682afa736979e17..bca2fa29e656e49d812a712b3812ebfbf00360bf 100644 (file)
@@ -2,6 +2,7 @@
 #
 # This file is part of DisOrder.
 # Copyright (C) 2004, 2005, 2006, 2007 Richard Kettlewell
+# Portions copyright (C) 2007 Ross Younger
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -79,7 +80,7 @@ case "$host" in
   if test $want_coreaudio = yes; then
     COREAUDIO="-framework CoreAudio"
   fi
-  BROWSER=open
+  browser=open
   ;;
 * )
   AC_MSG_RESULT([unknown, winging it])
@@ -125,17 +126,16 @@ subdirs="scripts lib clients doc examples debian"
 if test $want_server = yes; then
   subdirs="${subdirs} server plugins driver templates sounds images"
 fi
-if test $want_python = yes; then
-  AM_PATH_PYTHON
-  subdirs="${subdirs} python"
-fi
 if test $want_gtk = yes; then
   subdirs="${subdirs} disobedience"
   if test $want_server = no; then
     subdirs="${subdirs} images"
   fi
 fi
-subdirs="${subdirs} tests"
+if test $want_python = yes; then
+  AM_PATH_PYTHON([2.4])
+  subdirs="${subdirs} python tests"
+fi
 AC_SUBST([subdirs])
 
 # libtool config
@@ -255,6 +255,7 @@ if test $want_server = yes; then
   AC_CHECK_HEADERS([db.h],[:],[
     missing_headers="$missing_headers $ac_header"
   ])
+  AC_CHECK_HEADERS([FLAC/file_decoder.h])
 fi
 AC_CHECK_HEADERS([dlfcn.h gcrypt.h \
                 getopt.h iconv.h langinfo.h \
@@ -389,6 +390,28 @@ if test $want_server = yes; then
 fi
 
 if test "x$GCC" = xyes; then
+  # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29478
+  AC_CACHE_CHECK([checking for GCC bug 29478],[rjk_cv_pr29478],[
+    old_CC="$CC"
+    if test $GCC = yes; then
+      CC="$CC -Wall -Werror"
+    fi
+    AC_COMPILE_IFELSE([
+      static int x(char *f) {
+       return *f;
+      }
+      int z(const char *g) {
+       return x((char *)g);
+      }],
+      [rjk_cv_pr29478=no],
+      [rjk_cv_pr29478=yes]
+    )
+    CC="$old_CC"
+  ])
+  if test $rjk_cv_pr29478 = yes; then
+    gcc_werror=''
+  fi
+
   # a reasonable default set of warnings
   CC="${CC} -Wall -W -Wpointer-arith -Wbad-function-cast \
        -Wwrite-strings -Wmissing-prototypes \
@@ -398,19 +421,21 @@ if test "x$GCC" = xyes; then
   GTK_CFLAGS="`echo \"$GTK_CFLAGS\"|sed 's/-I/-isystem /g'`"
   GLIB_CFLAGS="`echo \"$GLIB_CFLAGS\"|sed 's/-I/-isystem /g'`"
 
-  # GCC 2.95 doesn't know to ignore warnings from system headers
-  AC_CACHE_CHECK([whether -Werror is usable],
-                  rjk_cv_werror, [
-    save_CFLAGS="${CFLAGS}"
-    CFLAGS="${CFLAGS} ${GTK_CFLAGS} -Werror"
-    AC_TRY_COMPILE([#include <gtk/gtk.h>],
-                   [],
-                   [rjk_cv_werror=yes],
-                   [rjk_cv_werror=no])
-    CFLAGS="${save_CFLAGS}"
-  ])
-  if test $rjk_cv_werror = no; then
-    gcc_werror=''
+  if test "$gcc_werror" != ''; then
+    # GCC 2.95 doesn't know to ignore warnings from system headers
+    AC_CACHE_CHECK([whether -Werror is usable],
+                   rjk_cv_werror, [
+      save_CFLAGS="${CFLAGS}"
+      CFLAGS="${CFLAGS} ${GTK_CFLAGS} -Werror"
+      AC_TRY_COMPILE([#include <gtk/gtk.h>],
+                    [],
+                    [rjk_cv_werror=yes],
+                    [rjk_cv_werror=no])
+      CFLAGS="${save_CFLAGS}"
+    ])
+    if test $rjk_cv_werror = no; then
+      gcc_werror=''
+    fi
   fi
   CC="${CC} $gcc_werror"
 
@@ -442,10 +467,10 @@ if test "x$GCC" = xyes; then
   if test $rjk_cv_shadow = yes; then
     CC="${CC} -Wshadow"
   fi
-                  
-
 fi
 
+RJK_GCOV
+
 AH_BOTTOM([#ifdef __GNUC__
 # define attribute(x) __attribute__(x)
 #else
@@ -469,3 +494,10 @@ AC_CONFIG_FILES([Makefile
                 examples/Makefile
                 tests/Makefile])
 AC_OUTPUT
+
+if test $GCC = yes && test "$gcc_werror" = ''; then
+  AC_MSG_WARN([building without -Werror])
+fi
+if test $want_python = no; then
+  AC_MSG_WARN([cannot run the test suit without Python])
+fi