From c3e6d0a34d9b2be550994c39c264e3f96a2cc43a Mon Sep 17 00:00:00 2001 From: David Michael Date: Fri, 8 Jan 2021 18:35:16 -0500 Subject: [PATCH] configure.ac: Allow cross-compiling AC_TRY_RUN fails by default when cross-compiling if it does not have the fourth parameter. This implements a new cache variable ac_cv_have_strftime_extension for that test which allows overriding the result to specify the target system behavior. It defaults to supporting the extension when cross-compiling. Signed-off-by: David Michael --- configure.ac.in | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/configure.ac.in b/configure.ac.in index b98fce6e..0483c8fa 100644 --- a/configure.ac +++ b/configure.ac @@ -133,10 +133,16 @@ dnl ************************************ AC_FUNC_MMAP() -dnl *************************************** -dnl *** Check for strftime() extensions *** -dnl *************************************** -AC_TRY_RUN([ +dnl *************************************************************************** +dnl *** Check for strftime() extensions *** +dnl *** *** +dnl *** AC_TRY_RUN must be able to build and execute programs natively on *** +dnl *** the build system, so it fails when cross-compiling unless given an *** +dnl *** action in the fourth parameter. This sets its results in a cache *** +dnl *** variable that users can override to specify target system behavior. *** +dnl *************************************************************************** +AC_CACHE_CHECK([for strftime %E and %O modifiers], + [ac_cv_have_strftime_extension], [AC_TRY_RUN([ #include #include int @@ -149,9 +155,13 @@ return 0; return 1; } -], [ + ], + [ac_cv_have_strftime_extension=yes], + [ac_cv_have_strftime_extension=no], + [ac_cv_have_strftime_extension=cross])]) +if test x"$ac_cv_have_strftime_extension" != x"no"; then AC_DEFINE([HAVE_STRFTIME_EXTENSION], 1, [Define if strftime supports %E and %O modifiers.]) -]) +fi dnl ****************************** dnl *** Check for i18n support *** -- GitLab