+2018-05-13 Bruno Haible <bruno@clisp.org>
+
+ c-strtod: Fix configure test for Android.
+ * m4/c-strtod.m4 (gl_C_STRTOD): Use AC_LINK_IFELSE instead of
+ AC_CHECK_FUNC.
+
2018-05-13 Bruno Haible <bruno@clisp.org>
random: Fix compilation error on Android.
-# c-strtod.m4 serial 15
+# c-strtod.m4 serial 16
# Copyright (C) 2004-2006, 2009-2018 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
AC_DEFUN([gl_C_STRTOD],
[
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
- AC_CHECK_FUNCS([strtod_l])
+
+ AC_CHECK_HEADERS_ONCE([xlocale.h])
+ dnl We can't use AC_CHECK_FUNC here, because strtod_l() is defined as a
+ dnl static inline function when compiling for Android 7.1 or older.
+ AC_CACHE_CHECK([for strtod_l], [gl_cv_func_strtod_l],
+ [AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <stdlib.h>
+ #include <locale.h>
+ #if HAVE_XLOCALE_H
+ # include <xlocale.h>
+ #endif
+ locale_t loc;
+ ]],
+ [[char *end;
+ return strtod_l("0",&end,loc) < 0.0;
+ ]])
+ ],
+ [gl_cv_func_strtod_l=yes],
+ [gl_cv_func_strtod_l=no])
+ ])
+ if test $gl_cv_func_strtod_l = yes; then
+ HAVE_STRTOD_L=1
+ else
+ HAVE_STRTOD_L=0
+ fi
+ AC_DEFINE_UNQUOTED([HAVE_STRTOD_L], [$HAVE_STRTOD_L],
+ [Define to 1 if the system has the 'strtod_l' function.])
])
dnl Prerequisites of lib/c-strtold.c.