version 1.1.1.2, 2012/05/29 09:29:44
|
version 1.1.1.3, 2021/03/17 13:38:46
|
Line 1
|
Line 1
|
# strerror.m4 serial 16 | # strerror.m4 serial 20 |
dnl Copyright (C) 2002, 2007-2011 Free Software Foundation, Inc. | dnl Copyright (C) 2002, 2007-2019 Free Software Foundation, Inc. |
dnl This file is free software; the Free Software Foundation |
dnl This file is free software; the Free Software Foundation |
dnl gives unlimited permission to copy and/or distribute it, |
dnl gives unlimited permission to copy and/or distribute it, |
dnl with or without modifications, as long as this notice is preserved. |
dnl with or without modifications, as long as this notice is preserved. |
Line 9 AC_DEFUN([gl_FUNC_STRERROR],
|
Line 9 AC_DEFUN([gl_FUNC_STRERROR],
|
AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) |
AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) |
AC_REQUIRE([gl_HEADER_ERRNO_H]) |
AC_REQUIRE([gl_HEADER_ERRNO_H]) |
AC_REQUIRE([gl_FUNC_STRERROR_0]) |
AC_REQUIRE([gl_FUNC_STRERROR_0]) |
|
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles |
m4_ifdef([gl_FUNC_STRERROR_R_WORKS], [ |
m4_ifdef([gl_FUNC_STRERROR_R_WORKS], [ |
AC_REQUIRE([gl_FUNC_STRERROR_R_WORKS]) |
AC_REQUIRE([gl_FUNC_STRERROR_R_WORKS]) |
]) |
]) |
Line 22 AC_DEFUN([gl_FUNC_STRERROR],
|
Line 23 AC_DEFUN([gl_FUNC_STRERROR],
|
[[if (!*strerror (-2)) return 1;]])], |
[[if (!*strerror (-2)) return 1;]])], |
[gl_cv_func_working_strerror=yes], |
[gl_cv_func_working_strerror=yes], |
[gl_cv_func_working_strerror=no], |
[gl_cv_func_working_strerror=no], |
[dnl Be pessimistic on cross-compiles for now. | [case "$host_os" in |
gl_cv_func_working_strerror="guessing no"]) | # Guess yes on glibc systems. |
| *-gnu* | gnu*) gl_cv_func_working_strerror="guessing yes" ;; |
| # Guess yes on musl systems. |
| *-musl*) gl_cv_func_working_strerror="guessing yes" ;; |
| # If we don't know, assume the worst. |
| *) gl_cv_func_working_strerror="guessing no" ;; |
| esac |
| ]) |
]) |
]) |
if test "$gl_cv_func_working_strerror" != yes; then | case "$gl_cv_func_working_strerror" in |
dnl The system's strerror() fails to return a string for out-of-range | *yes) ;; |
dnl integers. Replace it. | *) |
REPLACE_STRERROR=1 | dnl The system's strerror() fails to return a string for out-of-range |
fi | dnl integers. Replace it. |
| REPLACE_STRERROR=1 |
| ;; |
| esac |
m4_ifdef([gl_FUNC_STRERROR_R_WORKS], [ |
m4_ifdef([gl_FUNC_STRERROR_R_WORKS], [ |
dnl If the system's strerror_r or __xpg_strerror_r clobbers strerror's |
dnl If the system's strerror_r or __xpg_strerror_r clobbers strerror's |
dnl buffer, we must replace strerror. |
dnl buffer, we must replace strerror. |
Line 48 dnl Detect if strerror(0) passes (that is, does not se
|
Line 59 dnl Detect if strerror(0) passes (that is, does not se
|
dnl return a string that matches strerror(-1)). |
dnl return a string that matches strerror(-1)). |
AC_DEFUN([gl_FUNC_STRERROR_0], |
AC_DEFUN([gl_FUNC_STRERROR_0], |
[ |
[ |
|
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles |
REPLACE_STRERROR_0=0 |
REPLACE_STRERROR_0=0 |
AC_CACHE_CHECK([whether strerror(0) succeeds], |
AC_CACHE_CHECK([whether strerror(0) succeeds], |
[gl_cv_func_strerror_0_works], |
[gl_cv_func_strerror_0_works], |
Line 67 AC_DEFUN([gl_FUNC_STRERROR_0],
|
Line 79 AC_DEFUN([gl_FUNC_STRERROR_0],
|
return result;]])], |
return result;]])], |
[gl_cv_func_strerror_0_works=yes], |
[gl_cv_func_strerror_0_works=yes], |
[gl_cv_func_strerror_0_works=no], |
[gl_cv_func_strerror_0_works=no], |
[dnl Be pessimistic on cross-compiles for now. | [case "$host_os" in |
gl_cv_func_strerror_0_works="guessing no"]) | # Guess yes on glibc systems. |
| *-gnu* | gnu*) gl_cv_func_strerror_0_works="guessing yes" ;; |
| # Guess yes on musl systems. |
| *-musl*) gl_cv_func_strerror_0_works="guessing yes" ;; |
| # Guess yes on native Windows. |
| mingw*) gl_cv_func_strerror_0_works="guessing yes" ;; |
| # If we don't know, assume the worst. |
| *) gl_cv_func_strerror_0_works="guessing no" ;; |
| esac |
| ]) |
]) |
]) |
if test "$gl_cv_func_strerror_0_works" != yes; then | case "$gl_cv_func_strerror_0_works" in |
REPLACE_STRERROR_0=1 | *yes) ;; |
AC_DEFINE([REPLACE_STRERROR_0], [1], [Define to 1 if strerror(0) | *) |
does not return a message implying success.]) | REPLACE_STRERROR_0=1 |
fi | AC_DEFINE([REPLACE_STRERROR_0], [1], [Define to 1 if strerror(0) |
| does not return a message implying success.]) |
| ;; |
| esac |
]) |
]) |