wget/m4/localeconv.m4

60 lines
2.1 KiB
Plaintext

# localeconv.m4 serial 2
dnl Copyright (C) 2012-2023 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_FUNC_LOCALECONV],
[
AC_REQUIRE([gl_LOCALE_H_DEFAULTS])
AC_REQUIRE([gl_LOCALE_H])
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
if test $REPLACE_STRUCT_LCONV = 1; then
REPLACE_LOCALECONV=1
fi
if test $REPLACE_LOCALECONV = 0; then
dnl Test whether fields of type 'char' are filled correctly.
dnl This test fails on mingw 5.0.3.
AC_CACHE_CHECK([whether localeconv works],
[gl_cv_func_localeconv_works],
[AC_RUN_IFELSE(
[AC_LANG_SOURCE([[
#include <locale.h>
#include <limits.h>
int main ()
{
struct lconv *l = localeconv ();
return l->frac_digits != CHAR_MAX && l->frac_digits < 0;
}
]])],
[gl_cv_func_localeconv_works=yes],
[gl_cv_func_localeconv_works=no],
[case "$host_os" in
# Guess yes on glibc systems.
*-gnu* | gnu*) gl_cv_func_localeconv_works="guessing yes" ;;
# Guess yes on musl systems.
*-musl* | midipix*) gl_cv_func_localeconv_works="guessing yes" ;;
# Guess no on native Windows.
mingw*) gl_cv_func_localeconv_works="guessing no" ;;
# If we don't know, obey --enable-cross-guesses.
*) gl_cv_func_localeconv_works="$gl_cross_guess_normal" ;;
esac
])
])
case "$gl_cv_func_localeconv_works" in
*yes) ;;
*) REPLACE_LOCALECONV=1 ;;
esac
fi
])
# Prerequisites of lib/localeconv.c.
AC_DEFUN([gl_PREREQ_LOCALECONV],
[
AC_CHECK_MEMBERS([struct lconv.decimal_point], [], [],
[[#include <locale.h>]])
AC_CHECK_MEMBERS([struct lconv.int_p_cs_precedes], [], [],
[[#include <locale.h>]])
])