X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/7c8c2fc9a6d1008149ee8ce11a7958ab427fc05a..5c1ae3bc9c3a3cbed192fed2d68fc9b7bbe5c96f:/configure.ac diff --git a/configure.ac b/configure.ac index e3e8364..3c13dac 100644 --- a/configure.ac +++ b/configure.ac @@ -417,7 +417,7 @@ if test $ac_cv_type_long_long = yes; then AC_DEFINE([DECLARES_ATOLL],[1],[define if 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 @@ -455,7 +455,34 @@ if test $want_server = yes; then fi 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 ],[ + long long n = LLONG_MAX; + ],[rjk_cv_cstd=default],[ + old_CC="$CC" + CC="${CC} -std=gnu99" + AC_TRY_COMPILE([#include ],[ + 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" @@ -493,7 +520,12 @@ if test "x$GCC" = xyes; then rjk_cv_werror, [ save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} ${GTK_CFLAGS} -Werror" - AC_TRY_COMPILE([#include ], + AC_TRY_COMPILE([#if WITH_GTK + #include +#endif + +struct s { int a, b; }; +const struct s sv = { .a = 1 };], [], [rjk_cv_werror=yes], [rjk_cv_werror=no]) @@ -544,7 +576,6 @@ AH_BOTTOM([#ifdef __GNUC__ #endif]) AC_CONFIG_FILES([Makefile - templates/Makefile images/Makefile scripts/Makefile lib/Makefile @@ -552,6 +583,7 @@ AC_CONFIG_FILES([Makefile clients/Makefile disobedience/Makefile doc/Makefile + templates/Makefile plugins/Makefile driver/Makefile debian/Makefile