X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=configure.ac;h=471a6e77db56f726b675cdad6114732c200a4109;hb=147b444d6faa9a621e33d653b7a72c29724203c3;hp=7b06f099e92912622989f51b1f3f4dd8627f2034;hpb=d89426ef1149cdb2e31b48d4ea6f057e1d16fd62;p=secnet.git diff --git a/configure.ac b/configure.ac index 7b06f09..471a6e7 100644 --- a/configure.ac +++ b/configure.ac @@ -100,6 +100,30 @@ SECNET_C_GETFUNC(inet_aton,resolv) AC_CHECK_LIB(adns,adns_init) REQUIRE_HEADER([adns.h]) +AC_CHECK_FUNCS([fmemopen funopen]) + +dnl gcc 4.9.2 (jessie) requires -std=gnu11 to cope with for (int i=... +dnl but we do not want to pass that everywhere because we don't want +dnl to nail down the C dialect this way. Why oh why oh why. +m4_define([for_gcc_std],[ +void x(void) { for (int i=0; i<1; i++) { } } +]) +AC_CACHE_CHECK([required gcc -std flag],[secnet_cv_gcc_std_flag],[ + secnet_cv_gcc_std_flag="" + AC_COMPILE_IFELSE([AC_LANG_SOURCE(for_gcc_std)],[],[ + old_cflags="$CFLAGS" + CFLAGS="$CFLAGS -std=gnu11" + AC_COMPILE_IFELSE([AC_LANG_SOURCE(for_gcc_std)],[ + secnet_cv_gcc_std_flag=" -std=gnu11" + ],[ + AC_MSG_RESULT([failure!]) + AC_MSG_ERROR([cannot get test program to compile],1) + ]) + CFLAGS="$old_cflags" + ]) +]) +CFLAGS="$CFLAGS$secnet_cv_gcc_std_flag" + AC_MSG_NOTICE([Checking requirements for IPv6 support...]) enable_ipv6=true m4_define(NO_IPV6,[enable_ipv6=false])