|
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 |
| ]) |
]) |