# USA
#
-AC_INIT([disorder], [3.0+fixes], [richard+disorder@sfere.greenend.org.uk])
+AC_INIT([disorder], [3.0+], [richard+disorder@sfere.greenend.org.uk])
AC_CONFIG_AUX_DIR([config.aux])
-AM_INIT_AUTOMAKE(disorder, [3.0+fixes])
+AM_INIT_AUTOMAKE(disorder, [3.0+])
AC_CONFIG_SRCDIR([server/disorderd.c])
AM_CONFIG_HEADER([config.h])
# What we want to build
want_gtk=yes
want_python=yes
+want_tests=yes
# APIs we want
want_alsa=yes
if test "x$GCC" = xyes; then
gcc_werror=-Werror
else
+ AC_MSG_ERROR([GNU C is required to build this program])
gcc_werror=""
fi
[AS_HELP_STRING([--without-coreaudio],
[do not build with Core Audio support])],
[want_coreaudio=$withval])
+AC_ARG_WITH([tests],
+ [AS_HELP_STRING([--without-tests],
+ [do not build test suit])],
+ [want_tests=$withval])
AC_MSG_CHECKING([for a known target platform])
case "$host" in
[do not build Python support])],
[want_python=$withval])
-subdirs="scripts lib clients doc examples debian"
+subdirs="scripts lib"
+if test $want_tests = yes; then
+ subdirs="${subdirs} libtests"
+fi
+subdirs="${subdirs} clients doc examples debian"
if test $want_server = yes; then
- subdirs="${subdirs} server plugins driver templates sounds images"
+ subdirs="${subdirs} server cgi plugins driver templates sounds images"
fi
if test $want_gtk = yes; then
subdirs="${subdirs} disobedience"
subdirs="${subdirs} images"
fi
fi
-if test $want_python = yes; then
+if test $want_tests = yes && test $want_python = yes; then
AM_PATH_PYTHON([2.4])
subdirs="${subdirs} python tests"
fi
AC_DEFINE([DECLARES_ATOLL],[1],[define if <stdlib.h> declares atoll])
fi
fi
-AC_CHECK_FUNCS([ioctl nl_langinfo strsignal],[:],[
+AC_CHECK_FUNCS([ioctl nl_langinfo strsignal setenv unsetenv],[:],[
missing_functions="$missing_functions $ac_func"
])
# fsync will do if fdatasync not available
if test ! -z "$missing_functions"; then
AC_MSG_ERROR([missing functions:$missing_functions])
fi
+
+# Functions we can take or leave
+AC_CHECK_FUNCS([fls])
+
if test $want_server = yes; then
# <db.h> had better be version 3 or later
AC_CACHE_CHECK([db.h version],[rjk_cv_db_version],[
fi
AM_CONDITIONAL([SERVER], [test x$want_server = xyes])
+if test $want_gtk = yes; then
+ AC_DEFINE([WITH_GTK], [1], [define if using GTK+])
+fi
if test "x$GCC" = xyes; then
+ # We need LLONG_MAX and annoyingly GCC doesn't always give it to us
+ # by default.
+ AC_CACHE_CHECK([what C version to ask for],[rjk_cv_cstd],[
+ AC_TRY_COMPILE([#include <limits.h>],[
+ long long n = LLONG_MAX;
+ ],[rjk_cv_cstd=default],[
+ old_CC="$CC"
+ CC="${CC} -std=gnu99"
+ AC_TRY_COMPILE([#include <limits.h>],[
+ long long n = LLONG_MAX;
+ ],[rjk_cv_cstd=gnu99],[rjk_cv_cstd=unknown])
+ CC="$old_CC"
+ ])
+ ])
+ case $rjk_cv_cstd in
+ default | unknown )
+ ;;
+ * )
+ CC="${CC} -std=${rjk_cv_cstd}"
+ ;;
+ esac
+
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29478
AC_CACHE_CHECK([checking for GCC bug 29478],[rjk_cv_pr29478],[
old_CC="$CC"
rjk_cv_werror, [
save_CFLAGS="${CFLAGS}"
CFLAGS="${CFLAGS} ${GTK_CFLAGS} -Werror"
- AC_TRY_COMPILE([#include <gtk/gtk.h>],
+ AC_TRY_COMPILE([#if WITH_GTK
+ #include <gtk/gtk.h>
+#endif
+
+struct s { int a, b; };
+const struct s sv = { .a = 1 };],
[],
[rjk_cv_werror=yes],
[rjk_cv_werror=no])
#endif])
AC_CONFIG_FILES([Makefile
- templates/Makefile
images/Makefile
scripts/Makefile
lib/Makefile
server/Makefile
+ cgi/Makefile
clients/Makefile
disobedience/Makefile
doc/Makefile
+ templates/Makefile
plugins/Makefile
driver/Makefile
debian/Makefile
sounds/Makefile
python/Makefile
examples/Makefile
+ libtests/Makefile
tests/Makefile])
AC_OUTPUT