diff options
| author | Lorenz Kästle <lorenz.kaestle@netways.de> | 2023-03-09 11:03:48 +0100 |
|---|---|---|
| committer | Lorenz Kästle <lorenz.kaestle@netways.de> | 2023-03-09 11:03:48 +0100 |
| commit | d0edb72a0c9bc1a28197ab4566928f7ee63a6d43 (patch) | |
| tree | 6d524fb16d2dd1aa9f2d98529ef1de7a39f52700 /gl/m4/locale_h.m4 | |
| parent | 9fdc82f0543c6e2891c7079f70297f92e8ef4619 (diff) | |
| parent | 269718094177fb8a7e3d3005d1310495009fe8c4 (diff) | |
| download | monitoring-plugins-d0edb72.tar.gz | |
Merge branch 'master' into RincewindsHat-patch-1
Diffstat (limited to 'gl/m4/locale_h.m4')
| -rw-r--r-- | gl/m4/locale_h.m4 | 134 |
1 files changed, 93 insertions, 41 deletions
diff --git a/gl/m4/locale_h.m4 b/gl/m4/locale_h.m4 index 8bd12e80..a33a0a46 100644 --- a/gl/m4/locale_h.m4 +++ b/gl/m4/locale_h.m4 | |||
| @@ -1,13 +1,13 @@ | |||
| 1 | # locale_h.m4 serial 19 | 1 | # locale_h.m4 serial 28 |
| 2 | dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007, 2009-2023 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| 6 | 6 | ||
| 7 | AC_DEFUN([gl_LOCALE_H], | 7 | AC_DEFUN_ONCE([gl_LOCALE_H], |
| 8 | [ | 8 | [ |
| 9 | dnl Use AC_REQUIRE here, so that the default behavior below is expanded | 9 | dnl Ensure to expand the default settings once only, before all statements |
| 10 | dnl once only, before all statements that occur in other macros. | 10 | dnl that occur in other macros. |
| 11 | AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) | 11 | AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) |
| 12 | 12 | ||
| 13 | dnl Persuade glibc <locale.h> to define locale_t and the int_p_*, int_n_* | 13 | dnl Persuade glibc <locale.h> to define locale_t and the int_p_*, int_n_* |
| @@ -17,7 +17,9 @@ AC_DEFUN([gl_LOCALE_H], | |||
| 17 | dnl If <stddef.h> is replaced, then <locale.h> must also be replaced. | 17 | dnl If <stddef.h> is replaced, then <locale.h> must also be replaced. |
| 18 | AC_REQUIRE([gl_STDDEF_H]) | 18 | AC_REQUIRE([gl_STDDEF_H]) |
| 19 | 19 | ||
| 20 | dnl Solaris 11 2011-11 defines the int_p_*, int_n_* members of 'struct lconv' | 20 | AC_REQUIRE([gl_LOCALE_T]) |
| 21 | |||
| 22 | dnl Solaris 11.0 defines the int_p_*, int_n_* members of 'struct lconv' | ||
| 21 | dnl only if _LCONV_C99 is defined. | 23 | dnl only if _LCONV_C99 is defined. |
| 22 | AC_REQUIRE([AC_CANONICAL_HOST]) | 24 | AC_REQUIRE([AC_CANONICAL_HOST]) |
| 23 | case "$host_os" in | 25 | case "$host_os" in |
| @@ -37,34 +39,6 @@ AC_DEFUN([gl_LOCALE_H], | |||
| 37 | [gl_cv_header_locale_h_posix2001=yes], | 39 | [gl_cv_header_locale_h_posix2001=yes], |
| 38 | [gl_cv_header_locale_h_posix2001=no])]) | 40 | [gl_cv_header_locale_h_posix2001=no])]) |
| 39 | 41 | ||
| 40 | dnl Check for <xlocale.h>. | ||
| 41 | AC_CHECK_HEADERS_ONCE([xlocale.h]) | ||
| 42 | if test $ac_cv_header_xlocale_h = yes; then | ||
| 43 | HAVE_XLOCALE_H=1 | ||
| 44 | dnl Check whether use of locale_t requires inclusion of <xlocale.h>, | ||
| 45 | dnl e.g. on Mac OS X 10.5. If <locale.h> does not define locale_t by | ||
| 46 | dnl itself, we assume that <xlocale.h> will do so. | ||
| 47 | AC_CACHE_CHECK([whether locale.h defines locale_t], | ||
| 48 | [gl_cv_header_locale_has_locale_t], | ||
| 49 | [AC_COMPILE_IFELSE( | ||
| 50 | [AC_LANG_PROGRAM( | ||
| 51 | [[#include <locale.h> | ||
| 52 | locale_t x;]], | ||
| 53 | [[]])], | ||
| 54 | [gl_cv_header_locale_has_locale_t=yes], | ||
| 55 | [gl_cv_header_locale_has_locale_t=no]) | ||
| 56 | ]) | ||
| 57 | if test $gl_cv_header_locale_has_locale_t = yes; then | ||
| 58 | gl_cv_header_locale_h_needs_xlocale_h=no | ||
| 59 | else | ||
| 60 | gl_cv_header_locale_h_needs_xlocale_h=yes | ||
| 61 | fi | ||
| 62 | else | ||
| 63 | HAVE_XLOCALE_H=0 | ||
| 64 | gl_cv_header_locale_h_needs_xlocale_h=no | ||
| 65 | fi | ||
| 66 | AC_SUBST([HAVE_XLOCALE_H]) | ||
| 67 | |||
| 68 | dnl Check whether 'struct lconv' is complete. | 42 | dnl Check whether 'struct lconv' is complete. |
| 69 | dnl Bionic libc's 'struct lconv' is just a dummy. | 43 | dnl Bionic libc's 'struct lconv' is just a dummy. |
| 70 | dnl On OpenBSD 4.9, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.x, | 44 | dnl On OpenBSD 4.9, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.x, |
| @@ -82,7 +56,20 @@ AC_DEFUN([gl_LOCALE_H], | |||
| 82 | [gl_cv_sys_struct_lconv_ok=no]) | 56 | [gl_cv_sys_struct_lconv_ok=no]) |
| 83 | ]) | 57 | ]) |
| 84 | if test $gl_cv_sys_struct_lconv_ok = no; then | 58 | if test $gl_cv_sys_struct_lconv_ok = no; then |
| 85 | REPLACE_STRUCT_LCONV=1 | 59 | dnl On native Windows with MSVC, merely define these member names as macros. |
| 60 | dnl This avoids trouble in C++ mode. | ||
| 61 | case "$host_os" in | ||
| 62 | mingw*) | ||
| 63 | AC_EGREP_CPP([Special], [ | ||
| 64 | #ifdef _MSC_VER | ||
| 65 | Special | ||
| 66 | #endif | ||
| 67 | ], | ||
| 68 | [], | ||
| 69 | [REPLACE_STRUCT_LCONV=1]) | ||
| 70 | ;; | ||
| 71 | *) REPLACE_STRUCT_LCONV=1 ;; | ||
| 72 | esac | ||
| 86 | fi | 73 | fi |
| 87 | 74 | ||
| 88 | dnl <locale.h> is always overridden, because of GNULIB_POSIXCHECK. | 75 | dnl <locale.h> is always overridden, because of GNULIB_POSIXCHECK. |
| @@ -96,27 +83,92 @@ AC_DEFUN([gl_LOCALE_H], | |||
| 96 | # include <xlocale.h> | 83 | # include <xlocale.h> |
| 97 | #endif | 84 | #endif |
| 98 | ]], | 85 | ]], |
| 99 | [setlocale duplocale]) | 86 | [setlocale newlocale duplocale freelocale]) |
| 87 | ]) | ||
| 88 | |||
| 89 | dnl Checks to determine whether the system has the locale_t type, | ||
| 90 | dnl and how to obtain it. | ||
| 91 | AC_DEFUN([gl_LOCALE_T], | ||
| 92 | [ | ||
| 93 | dnl Persuade glibc and Solaris <locale.h> to define locale_t. | ||
| 94 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | ||
| 95 | |||
| 96 | dnl Check whether use of locale_t requires inclusion of <xlocale.h>, | ||
| 97 | dnl e.g. on Mac OS X 10.5. If <locale.h> does not define locale_t by | ||
| 98 | dnl itself, we assume that <xlocale.h> will do so. | ||
| 99 | AC_CACHE_CHECK([whether locale.h defines locale_t], | ||
| 100 | [gl_cv_header_locale_has_locale_t], | ||
| 101 | [AC_COMPILE_IFELSE( | ||
| 102 | [AC_LANG_PROGRAM( | ||
| 103 | [[#include <locale.h> | ||
| 104 | locale_t x;]], | ||
| 105 | [[]])], | ||
| 106 | [gl_cv_header_locale_has_locale_t=yes], | ||
| 107 | [gl_cv_header_locale_has_locale_t=no]) | ||
| 108 | ]) | ||
| 109 | |||
| 110 | dnl Check for <xlocale.h>. | ||
| 111 | AC_CHECK_HEADERS_ONCE([xlocale.h]) | ||
| 112 | if test $ac_cv_header_xlocale_h = yes; then | ||
| 113 | HAVE_XLOCALE_H=1 | ||
| 114 | if test $gl_cv_header_locale_has_locale_t = yes; then | ||
| 115 | gl_cv_header_locale_h_needs_xlocale_h=no | ||
| 116 | else | ||
| 117 | gl_cv_header_locale_h_needs_xlocale_h=yes | ||
| 118 | fi | ||
| 119 | HAVE_LOCALE_T=1 | ||
| 120 | else | ||
| 121 | HAVE_XLOCALE_H=0 | ||
| 122 | gl_cv_header_locale_h_needs_xlocale_h=no | ||
| 123 | if test $gl_cv_header_locale_has_locale_t = yes; then | ||
| 124 | HAVE_LOCALE_T=1 | ||
| 125 | else | ||
| 126 | HAVE_LOCALE_T=0 | ||
| 127 | fi | ||
| 128 | fi | ||
| 129 | AC_SUBST([HAVE_XLOCALE_H]) | ||
| 100 | ]) | 130 | ]) |
| 101 | 131 | ||
| 132 | # gl_LOCALE_MODULE_INDICATOR([modulename]) | ||
| 133 | # sets the shell variable that indicates the presence of the given module | ||
| 134 | # to a C preprocessor expression that will evaluate to 1. | ||
| 135 | # This macro invocation must not occur in macros that are AC_REQUIREd. | ||
| 102 | AC_DEFUN([gl_LOCALE_MODULE_INDICATOR], | 136 | AC_DEFUN([gl_LOCALE_MODULE_INDICATOR], |
| 103 | [ | 137 | [ |
| 104 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. | 138 | dnl Ensure to expand the default settings once only. |
| 105 | AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) | 139 | gl_LOCALE_H_REQUIRE_DEFAULTS |
| 106 | gl_MODULE_INDICATOR_SET_VARIABLE([$1]) | 140 | gl_MODULE_INDICATOR_SET_VARIABLE([$1]) |
| 107 | dnl Define it also as a C macro, for the benefit of the unit tests. | 141 | dnl Define it also as a C macro, for the benefit of the unit tests. |
| 108 | gl_MODULE_INDICATOR_FOR_TESTS([$1]) | 142 | gl_MODULE_INDICATOR_FOR_TESTS([$1]) |
| 109 | ]) | 143 | ]) |
| 110 | 144 | ||
| 145 | # Initializes the default values for AC_SUBSTed shell variables. | ||
| 146 | # This macro must not be AC_REQUIREd. It must only be invoked, and only | ||
| 147 | # outside of macros or in macros that are not AC_REQUIREd. | ||
| 148 | AC_DEFUN([gl_LOCALE_H_REQUIRE_DEFAULTS], | ||
| 149 | [ | ||
| 150 | m4_defun(GL_MODULE_INDICATOR_PREFIX[_LOCALE_H_MODULE_INDICATOR_DEFAULTS], [ | ||
| 151 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOCALECONV]) | ||
| 152 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETLOCALE]) | ||
| 153 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETLOCALE_NULL]) | ||
| 154 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DUPLOCALE]) | ||
| 155 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOCALENAME]) | ||
| 156 | ]) | ||
| 157 | m4_require(GL_MODULE_INDICATOR_PREFIX[_LOCALE_H_MODULE_INDICATOR_DEFAULTS]) | ||
| 158 | AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) | ||
| 159 | ]) | ||
| 160 | |||
| 111 | AC_DEFUN([gl_LOCALE_H_DEFAULTS], | 161 | AC_DEFUN([gl_LOCALE_H_DEFAULTS], |
| 112 | [ | 162 | [ |
| 113 | GNULIB_LOCALECONV=0; AC_SUBST([GNULIB_LOCALECONV]) | ||
| 114 | GNULIB_SETLOCALE=0; AC_SUBST([GNULIB_SETLOCALE]) | ||
| 115 | GNULIB_DUPLOCALE=0; AC_SUBST([GNULIB_DUPLOCALE]) | ||
| 116 | dnl Assume proper GNU behavior unless another module says otherwise. | 163 | dnl Assume proper GNU behavior unless another module says otherwise. |
| 164 | HAVE_NEWLOCALE=1; AC_SUBST([HAVE_NEWLOCALE]) | ||
| 117 | HAVE_DUPLOCALE=1; AC_SUBST([HAVE_DUPLOCALE]) | 165 | HAVE_DUPLOCALE=1; AC_SUBST([HAVE_DUPLOCALE]) |
| 166 | HAVE_FREELOCALE=1; AC_SUBST([HAVE_FREELOCALE]) | ||
| 118 | REPLACE_LOCALECONV=0; AC_SUBST([REPLACE_LOCALECONV]) | 167 | REPLACE_LOCALECONV=0; AC_SUBST([REPLACE_LOCALECONV]) |
| 119 | REPLACE_SETLOCALE=0; AC_SUBST([REPLACE_SETLOCALE]) | 168 | REPLACE_SETLOCALE=0; AC_SUBST([REPLACE_SETLOCALE]) |
| 169 | REPLACE_NEWLOCALE=0; AC_SUBST([REPLACE_NEWLOCALE]) | ||
| 120 | REPLACE_DUPLOCALE=0; AC_SUBST([REPLACE_DUPLOCALE]) | 170 | REPLACE_DUPLOCALE=0; AC_SUBST([REPLACE_DUPLOCALE]) |
| 171 | REPLACE_FREELOCALE=0; AC_SUBST([REPLACE_FREELOCALE]) | ||
| 121 | REPLACE_STRUCT_LCONV=0; AC_SUBST([REPLACE_STRUCT_LCONV]) | 172 | REPLACE_STRUCT_LCONV=0; AC_SUBST([REPLACE_STRUCT_LCONV]) |
| 173 | LOCALENAME_ENHANCE_LOCALE_FUNCS=0; AC_SUBST([LOCALENAME_ENHANCE_LOCALE_FUNCS]) | ||
| 122 | ]) | 174 | ]) |
