From ca2e8b3b19c3453420e6e56d271e22221b2e9cdd Mon Sep 17 00:00:00 2001 From: Luca Boccassi Date: Sat, 4 May 2019 15:05:09 +0100 Subject: [PATCH] Problem: build broken on Fedora 30 Solution: use AC_COMPILE_IFELSE instead of AC_CHECK_FUNCS to check for strnlen, as the latter does not work anymore. --- configure.ac | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 94a9f4a0..f36bb8c5 100644 --- a/configure.ac +++ b/configure.ac @@ -675,9 +675,23 @@ AC_LANG_POP([C++]) # Checks for library functions. AC_TYPE_SIGNAL -AC_CHECK_FUNCS(perror gettimeofday clock_gettime memset socket getifaddrs freeifaddrs fork mkdtemp accept4 strnlen) +AC_CHECK_FUNCS(perror gettimeofday clock_gettime memset socket getifaddrs freeifaddrs fork mkdtemp accept4) AC_CHECK_HEADERS([alloca.h]) +# string.h doesn't seem to be included by default in Fedora 30 +AC_MSG_CHECKING([whether strnlen is available]) +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[size_t bar = strnlen ("foo", 1); (void)bar; return 0;]]) + ],[ + AC_MSG_RESULT([yes]) + AC_DEFINE(HAVE_STRNLEN, [1], + [strnlen is available]) + ],[ + AC_MSG_RESULT([no]) +]) + # pthread_setname is non-posix, and there are at least 4 different implementations AC_MSG_CHECKING([whether signature of pthread_setname_np() has 1 argument]) AC_COMPILE_IFELSE(