diff options
Diffstat (limited to 'gl/m4')
164 files changed, 3713 insertions, 1296 deletions
diff --git a/gl/m4/00gnulib.m4 b/gl/m4/00gnulib.m4 index 7fe03e0b..cd167718 100644 --- a/gl/m4/00gnulib.m4 +++ b/gl/m4/00gnulib.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # 00gnulib.m4 serial 8 | 1 | # 00gnulib.m4 |
2 | dnl Copyright (C) 2009-2023 Free Software Foundation, Inc. | 2 | # serial 9 |
3 | dnl Copyright (C) 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -49,14 +50,14 @@ dnl AC_REQUIRE([gl_COMPILER_CLANG]) | |||
49 | [if test $gl_cv_compiler_clang = yes; then | 50 | [if test $gl_cv_compiler_clang = yes; then |
50 | dnl Test whether the compiler supports the option | 51 | dnl Test whether the compiler supports the option |
51 | dnl '-Werror=implicit-function-declaration'. | 52 | dnl '-Werror=implicit-function-declaration'. |
52 | save_ac_compile="$ac_compile" | 53 | saved_ac_compile="$ac_compile" |
53 | ac_compile="$ac_compile -Werror=implicit-function-declaration" | 54 | ac_compile="$ac_compile -Werror=implicit-function-declaration" |
54 | dnl Use _AC_COMPILE_IFELSE instead of AC_COMPILE_IFELSE, to avoid a | 55 | dnl Use _AC_COMPILE_IFELSE instead of AC_COMPILE_IFELSE, to avoid a |
55 | dnl warning "AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS". | 56 | dnl warning "AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS". |
56 | _AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],[[]])], | 57 | _AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],[[]])], |
57 | [gl_cv_compiler_check_decl_option='-Werror=implicit-function-declaration'], | 58 | [gl_cv_compiler_check_decl_option='-Werror=implicit-function-declaration'], |
58 | [gl_cv_compiler_check_decl_option=none]) | 59 | [gl_cv_compiler_check_decl_option=none]) |
59 | ac_compile="$save_ac_compile" | 60 | ac_compile="$saved_ac_compile" |
60 | else | 61 | else |
61 | gl_cv_compiler_check_decl_option=none | 62 | gl_cv_compiler_check_decl_option=none |
62 | fi | 63 | fi |
@@ -71,11 +72,11 @@ dnl Redefine _AC_CHECK_DECL_BODY so that it references ac_compile_for_check_decl | |||
71 | dnl instead of ac_compile. If, for whatever reason, the override of AC_PROG_CC | 72 | dnl instead of ac_compile. If, for whatever reason, the override of AC_PROG_CC |
72 | dnl in zzgnulib.m4 is inactive, use the original ac_compile. | 73 | dnl in zzgnulib.m4 is inactive, use the original ac_compile. |
73 | m4_define([_AC_CHECK_DECL_BODY], | 74 | m4_define([_AC_CHECK_DECL_BODY], |
74 | [ ac_save_ac_compile="$ac_compile" | 75 | [ ac_saved_ac_compile="$ac_compile" |
75 | if test -n "$ac_compile_for_check_decl"; then | 76 | if test -n "$ac_compile_for_check_decl"; then |
76 | ac_compile="$ac_compile_for_check_decl" | 77 | ac_compile="$ac_compile_for_check_decl" |
77 | fi] | 78 | fi] |
78 | m4_defn([_AC_CHECK_DECL_BODY])[ ac_compile="$ac_save_ac_compile" | 79 | m4_defn([_AC_CHECK_DECL_BODY])[ ac_compile="$ac_saved_ac_compile" |
79 | ]) | 80 | ]) |
80 | 81 | ||
81 | # gl_00GNULIB | 82 | # gl_00GNULIB |
diff --git a/gl/m4/__inline.m4 b/gl/m4/__inline.m4 index acf8668b..20baf164 100644 --- a/gl/m4/__inline.m4 +++ b/gl/m4/__inline.m4 | |||
@@ -1,9 +1,12 @@ | |||
1 | # Test for __inline keyword | 1 | # __inline.m4 |
2 | dnl Copyright 2017-2023 Free Software Foundation, Inc. | 2 | # serial 1 |
3 | dnl Copyright 2017-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
6 | 7 | ||
8 | # Test for __inline keyword | ||
9 | |||
7 | AC_DEFUN([gl___INLINE], | 10 | AC_DEFUN([gl___INLINE], |
8 | [ | 11 | [ |
9 | AC_CACHE_CHECK([whether the compiler supports the __inline keyword], | 12 | AC_CACHE_CHECK([whether the compiler supports the __inline keyword], |
diff --git a/gl/m4/absolute-header.m4 b/gl/m4/absolute-header.m4 index e7947648..0abd6d90 100644 --- a/gl/m4/absolute-header.m4 +++ b/gl/m4/absolute-header.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # absolute-header.m4 serial 17 | 1 | # absolute-header.m4 |
2 | dnl Copyright (C) 2006-2023 Free Software Foundation, Inc. | 2 | # serial 18 |
3 | dnl Copyright (C) 2006-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -66,7 +67,7 @@ AC_DEFUN([gl_ABSOLUTE_HEADER_ONE], | |||
66 | esac | 67 | esac |
67 | changequote(,) | 68 | changequote(,) |
68 | case "$host_os" in | 69 | case "$host_os" in |
69 | mingw*) | 70 | mingw* | windows*) |
70 | dnl For the sake of native Windows compilers (excluding gcc), | 71 | dnl For the sake of native Windows compilers (excluding gcc), |
71 | dnl treat backslash as a directory separator, like /. | 72 | dnl treat backslash as a directory separator, like /. |
72 | dnl Actually, these compilers use a double-backslash as | 73 | dnl Actually, these compilers use a double-backslash as |
diff --git a/gl/m4/af_alg.m4 b/gl/m4/af_alg.m4 index f4c0d624..33b74945 100644 --- a/gl/m4/af_alg.m4 +++ b/gl/m4/af_alg.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # af_alg.m4 serial 6 | 1 | # af_alg.m4 |
2 | dnl Copyright 2018-2023 Free Software Foundation, Inc. | 2 | # serial 6 |
3 | dnl Copyright 2018-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/alloca.m4 b/gl/m4/alloca.m4 index c685fac9..dc78dc19 100644 --- a/gl/m4/alloca.m4 +++ b/gl/m4/alloca.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # alloca.m4 serial 21 | 1 | # alloca.m4 |
2 | dnl Copyright (C) 2002-2004, 2006-2007, 2009-2023 Free Software Foundation, | 2 | # serial 21 |
3 | dnl Copyright (C) 2002-2004, 2006-2007, 2009-2024 Free Software Foundation, | ||
3 | dnl Inc. | 4 | dnl Inc. |
4 | dnl This file is free software; the Free Software Foundation | 5 | dnl This file is free software; the Free Software Foundation |
5 | dnl gives unlimited permission to copy and/or distribute it, | 6 | dnl gives unlimited permission to copy and/or distribute it, |
diff --git a/gl/m4/arpa_inet_h.m4 b/gl/m4/arpa_inet_h.m4 index fa5fe831..9eac86d7 100644 --- a/gl/m4/arpa_inet_h.m4 +++ b/gl/m4/arpa_inet_h.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # arpa_inet_h.m4 serial 17 | 1 | # arpa_inet_h.m4 |
2 | dnl Copyright (C) 2006, 2008-2023 Free Software Foundation, Inc. | 2 | # serial 17 |
3 | dnl Copyright (C) 2006, 2008-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/assert_h.m4 b/gl/m4/assert_h.m4 index abba4fa3..b90d0f19 100644 --- a/gl/m4/assert_h.m4 +++ b/gl/m4/assert_h.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # assert-h.m4 | 1 | # assert_h.m4 |
2 | dnl Copyright (C) 2011-2023 Free Software Foundation, Inc. | 2 | # serial 1 |
3 | dnl Copyright (C) 2011-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -9,16 +10,16 @@ dnl From Paul Eggert. | |||
9 | AC_DEFUN([gl_ASSERT_H], | 10 | AC_DEFUN([gl_ASSERT_H], |
10 | [ | 11 | [ |
11 | AC_CACHE_CHECK([for static_assert], [gl_cv_static_assert], | 12 | AC_CACHE_CHECK([for static_assert], [gl_cv_static_assert], |
12 | [gl_save_CFLAGS=$CFLAGS | 13 | [gl_saved_CFLAGS=$CFLAGS |
13 | for gl_working in "yes, a keyword" "yes, an <assert.h> macro"; do | 14 | for gl_working in "yes, a keyword" "yes, an <assert.h> macro"; do |
14 | AS_CASE([$gl_working], | 15 | AS_CASE([$gl_working], |
15 | [*assert.h*], [CFLAGS="$gl_save_CFLAGS -DINCLUDE_ASSERT_H"]) | 16 | [*assert.h*], [CFLAGS="$gl_saved_CFLAGS -DINCLUDE_ASSERT_H"]) |
16 | 17 | ||
17 | AC_COMPILE_IFELSE( | 18 | AC_COMPILE_IFELSE( |
18 | [AC_LANG_PROGRAM( | 19 | [AC_LANG_PROGRAM( |
19 | [[#if defined __clang__ && __STDC_VERSION__ < 202311 | 20 | [[#if defined __clang__ && __STDC_VERSION__ < 202311 |
20 | #pragma clang diagnostic error "-Wc2x-extensions" | 21 | #pragma clang diagnostic error "-Wc2x-extensions" |
21 | #pragma clang diagnostic error "-Wc++17-extensions" | 22 | #pragma clang diagnostic error "-Wc++1z-extensions" |
22 | #endif | 23 | #endif |
23 | #ifdef INCLUDE_ASSERT_H | 24 | #ifdef INCLUDE_ASSERT_H |
24 | #include <assert.h> | 25 | #include <assert.h> |
@@ -32,7 +33,7 @@ AC_DEFUN([gl_ASSERT_H], | |||
32 | ]])], | 33 | ]])], |
33 | [gl_cv_static_assert=$gl_working], | 34 | [gl_cv_static_assert=$gl_working], |
34 | [gl_cv_static_assert=no]) | 35 | [gl_cv_static_assert=no]) |
35 | CFLAGS=$gl_save_CFLAGS | 36 | CFLAGS=$gl_saved_CFLAGS |
36 | test "$gl_cv_static_assert" != no && break | 37 | test "$gl_cv_static_assert" != no && break |
37 | done]) | 38 | done]) |
38 | 39 | ||
@@ -46,10 +47,13 @@ AC_DEFUN([gl_ASSERT_H], | |||
46 | gl_NEXT_HEADERS([assert.h])]) | 47 | gl_NEXT_HEADERS([assert.h])]) |
47 | 48 | ||
48 | dnl The "zz" puts this toward config.h's end, to avoid potential | 49 | dnl The "zz" puts this toward config.h's end, to avoid potential |
49 | dnl collisions with other definitions. #undef assert so that | 50 | dnl collisions with other definitions. |
50 | dnl programs are not tempted to use it without specifically | 51 | dnl #undef assert so that programs are not tempted to use it without |
51 | dnl including assert.h. Break the #undef apart with a comment | 52 | dnl specifically including assert.h. |
52 | dnl so that 'configure' does not comment it out. | 53 | dnl #undef __ASSERT_H__ so that on IRIX, when programs later include |
54 | dnl <assert.h>, this include actually defines assert. | ||
55 | dnl Break the #undef_s apart with a comment so that 'configure' does | ||
56 | dnl not comment them out. | ||
53 | AH_VERBATIM([zzstatic_assert], | 57 | AH_VERBATIM([zzstatic_assert], |
54 | [#if (!defined HAVE_C_STATIC_ASSERT && !defined assert \ | 58 | [#if (!defined HAVE_C_STATIC_ASSERT && !defined assert \ |
55 | && (!defined __cplusplus \ | 59 | && (!defined __cplusplus \ |
@@ -57,6 +61,9 @@ AC_DEFUN([gl_ASSERT_H], | |||
57 | && __GNUG__ < 6 && __clang_major__ < 6))) | 61 | && __GNUG__ < 6 && __clang_major__ < 6))) |
58 | #include <assert.h> | 62 | #include <assert.h> |
59 | #undef/**/assert | 63 | #undef/**/assert |
64 | #ifdef __sgi | ||
65 | #undef/**/__ASSERT_H__ | ||
66 | #endif | ||
60 | /* Solaris 11.4 <assert.h> defines static_assert as a macro with 2 arguments. | 67 | /* Solaris 11.4 <assert.h> defines static_assert as a macro with 2 arguments. |
61 | We need it also to be invocable with a single argument. */ | 68 | We need it also to be invocable with a single argument. */ |
62 | #if defined __sun && (__STDC_VERSION__ - 0 >= 201112L) && !defined __cplusplus | 69 | #if defined __sun && (__STDC_VERSION__ - 0 >= 201112L) && !defined __cplusplus |
diff --git a/gl/m4/base64.m4 b/gl/m4/base64.m4 index 987930ab..26f2af41 100644 --- a/gl/m4/base64.m4 +++ b/gl/m4/base64.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # base64.m4 serial 4 | 1 | # base64.m4 |
2 | dnl Copyright (C) 2004, 2006, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 4 |
3 | dnl Copyright (C) 2004, 2006, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/btowc.m4 b/gl/m4/btowc.m4 index 77218a7d..d9dd7036 100644 --- a/gl/m4/btowc.m4 +++ b/gl/m4/btowc.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # btowc.m4 serial 12 | 1 | # btowc.m4 |
2 | dnl Copyright (C) 2008-2023 Free Software Foundation, Inc. | 2 | # serial 14 |
3 | dnl Copyright (C) 2008-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -40,12 +41,12 @@ int main () | |||
40 | [ | 41 | [ |
41 | changequote(,)dnl | 42 | changequote(,)dnl |
42 | case "$host_os" in | 43 | case "$host_os" in |
43 | # Guess no on Cygwin. | 44 | # Guess no on Cygwin. |
44 | cygwin*) gl_cv_func_btowc_nul="guessing no" ;; | 45 | cygwin*) gl_cv_func_btowc_nul="guessing no" ;; |
45 | # Guess yes on native Windows. | 46 | # Guess yes on native Windows. |
46 | mingw*) gl_cv_func_btowc_nul="guessing yes" ;; | 47 | mingw* | windows*) gl_cv_func_btowc_nul="guessing yes" ;; |
47 | # Guess yes otherwise. | 48 | # Guess yes otherwise. |
48 | *) gl_cv_func_btowc_nul="guessing yes" ;; | 49 | *) gl_cv_func_btowc_nul="guessing yes" ;; |
49 | esac | 50 | esac |
50 | changequote([,])dnl | 51 | changequote([,])dnl |
51 | ]) | 52 | ]) |
@@ -59,12 +60,12 @@ changequote([,])dnl | |||
59 | dnl is present. | 60 | dnl is present. |
60 | changequote(,)dnl | 61 | changequote(,)dnl |
61 | case "$host_os" in | 62 | case "$host_os" in |
62 | # Guess no on IRIX. | 63 | # Guess no on IRIX. |
63 | irix*) gl_cv_func_btowc_eof="guessing no" ;; | 64 | irix*) gl_cv_func_btowc_eof="guessing no" ;; |
64 | # Guess yes on native Windows. | 65 | # Guess yes on native Windows. |
65 | mingw*) gl_cv_func_btowc_eof="guessing yes" ;; | 66 | mingw* | windows*) gl_cv_func_btowc_eof="guessing yes" ;; |
66 | # Guess yes otherwise. | 67 | # Guess yes otherwise. |
67 | *) gl_cv_func_btowc_eof="guessing yes" ;; | 68 | *) gl_cv_func_btowc_eof="guessing yes" ;; |
68 | esac | 69 | esac |
69 | changequote([,])dnl | 70 | changequote([,])dnl |
70 | if test $LOCALE_FR != none; then | 71 | if test $LOCALE_FR != none; then |
@@ -88,6 +89,50 @@ int main () | |||
88 | fi | 89 | fi |
89 | ]) | 90 | ]) |
90 | 91 | ||
92 | dnl On mingw, in the C locale, btowc is inconsistent with mbrtowc: | ||
93 | dnl mbrtowc avoids calling MultiByteToWideChar when MB_CUR_MAX is 1 and | ||
94 | dnl ___lc_codepage_func() is 0, but btowc is lacking this special case. | ||
95 | AC_CHECK_FUNCS_ONCE([mbrtowc]) | ||
96 | AC_CACHE_CHECK([whether btowc is consistent with mbrtowc in the C locale], | ||
97 | [gl_cv_func_btowc_consistent], | ||
98 | [ | ||
99 | AC_RUN_IFELSE( | ||
100 | [AC_LANG_SOURCE([[ | ||
101 | #include <stdlib.h> | ||
102 | #include <string.h> | ||
103 | #include <wchar.h> | ||
104 | int main () | ||
105 | { | ||
106 | #if HAVE_MBRTOWC | ||
107 | wint_t wc1 = btowc (0x80); | ||
108 | wchar_t wc2 = (wchar_t) 0xbadface; | ||
109 | char buf[1] = { 0x80 }; | ||
110 | mbstate_t state; | ||
111 | memset (&state, 0, sizeof (mbstate_t)); | ||
112 | if (mbrtowc (&wc2, buf, 1, &state) != 1 || wc1 != wc2) | ||
113 | return 1; | ||
114 | #endif | ||
115 | return 0; | ||
116 | }]])], | ||
117 | [gl_cv_func_btowc_consistent=yes], | ||
118 | [gl_cv_func_btowc_consistent=no], | ||
119 | [case "$host_os" in | ||
120 | # Guess no on mingw. | ||
121 | mingw* | windows*) | ||
122 | AC_EGREP_CPP([Problem], [ | ||
123 | #ifdef __MINGW32__ | ||
124 | Problem | ||
125 | #endif | ||
126 | ], | ||
127 | [gl_cv_func_btowc_consistent="guessing no"], | ||
128 | [gl_cv_func_btowc_consistent="guessing yes"]) | ||
129 | ;; | ||
130 | # Guess yes otherwise. | ||
131 | *) gl_cv_func_btowc_consistent="guessing yes" ;; | ||
132 | esac | ||
133 | ]) | ||
134 | ]) | ||
135 | |||
91 | case "$gl_cv_func_btowc_nul" in | 136 | case "$gl_cv_func_btowc_nul" in |
92 | *yes) ;; | 137 | *yes) ;; |
93 | *) REPLACE_BTOWC=1 ;; | 138 | *) REPLACE_BTOWC=1 ;; |
@@ -96,10 +141,22 @@ int main () | |||
96 | *yes) ;; | 141 | *yes) ;; |
97 | *) REPLACE_BTOWC=1 ;; | 142 | *) REPLACE_BTOWC=1 ;; |
98 | esac | 143 | esac |
144 | case "$gl_cv_func_btowc_consistent" in | ||
145 | *yes) ;; | ||
146 | *) REPLACE_BTOWC=1 ;; | ||
147 | esac | ||
148 | if test $REPLACE_BTOWC = 0; then | ||
149 | gl_MBRTOWC_C_LOCALE | ||
150 | case "$gl_cv_func_mbrtowc_C_locale_sans_EILSEQ" in | ||
151 | *yes) ;; | ||
152 | *) REPLACE_BTOWC=1 ;; | ||
153 | esac | ||
154 | fi | ||
99 | fi | 155 | fi |
100 | ]) | 156 | ]) |
101 | 157 | ||
102 | # Prerequisites of lib/btowc.c. | 158 | # Prerequisites of lib/btowc.c. |
103 | AC_DEFUN([gl_PREREQ_BTOWC], [ | 159 | AC_DEFUN([gl_PREREQ_BTOWC], [ |
104 | : | 160 | : |
161 | AC_CHECK_FUNCS_ONCE([mbrtowc]) | ||
105 | ]) | 162 | ]) |
diff --git a/gl/m4/builtin-expect.m4 b/gl/m4/builtin-expect.m4 index 531ed48a..c7af926b 100644 --- a/gl/m4/builtin-expect.m4 +++ b/gl/m4/builtin-expect.m4 | |||
@@ -1,10 +1,12 @@ | |||
1 | dnl Check for __builtin_expect. | 1 | # builtin-expect.m4 |
2 | 2 | # serial 1 | |
3 | dnl Copyright 2016-2023 Free Software Foundation, Inc. | 3 | dnl Copyright 2016-2024 Free Software Foundation, Inc. |
4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
7 | 7 | ||
8 | dnl Check for __builtin_expect. | ||
9 | |||
8 | dnl Written by Paul Eggert. | 10 | dnl Written by Paul Eggert. |
9 | 11 | ||
10 | AC_DEFUN([gl___BUILTIN_EXPECT], | 12 | AC_DEFUN([gl___BUILTIN_EXPECT], |
diff --git a/gl/m4/byteswap.m4 b/gl/m4/byteswap.m4 index 8058d178..0c76fe93 100644 --- a/gl/m4/byteswap.m4 +++ b/gl/m4/byteswap.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # byteswap.m4 serial 5 | 1 | # byteswap.m4 |
2 | dnl Copyright (C) 2005, 2007, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 5 |
3 | dnl Copyright (C) 2005, 2007, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/c-bool.m4 b/gl/m4/c-bool.m4 index f614371b..0fb0de3b 100644 --- a/gl/m4/c-bool.m4 +++ b/gl/m4/c-bool.m4 | |||
@@ -1,10 +1,12 @@ | |||
1 | # Check for bool that conforms to C2023. | 1 | # c-bool.m4 |
2 | 2 | # serial 1 | |
3 | dnl Copyright 2022-2023 Free Software Foundation, Inc. | 3 | dnl Copyright 2022-2024 Free Software Foundation, Inc. |
4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
7 | 7 | ||
8 | # Check for bool that conforms to C2023. | ||
9 | |||
8 | AC_DEFUN([gl_C_BOOL], | 10 | AC_DEFUN([gl_C_BOOL], |
9 | [ | 11 | [ |
10 | AC_CACHE_CHECK([for bool, true, false], [gl_cv_c_bool], | 12 | AC_CACHE_CHECK([for bool, true, false], [gl_cv_c_bool], |
diff --git a/gl/m4/calloc.m4 b/gl/m4/calloc.m4 index 23c0dd9f..550cf5cc 100644 --- a/gl/m4/calloc.m4 +++ b/gl/m4/calloc.m4 | |||
@@ -1,9 +1,9 @@ | |||
1 | # calloc.m4 serial 29 | 1 | # calloc.m4 |
2 | 2 | # serial 31 | |
3 | # Copyright (C) 2004-2023 Free Software Foundation, Inc. | 3 | dnl Copyright (C) 2004-2024 Free Software Foundation, Inc. |
4 | # This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
5 | # gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
6 | # with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
7 | 7 | ||
8 | # Written by Jim Meyering. | 8 | # Written by Jim Meyering. |
9 | 9 | ||
@@ -36,14 +36,14 @@ AC_DEFUN([_AC_FUNC_CALLOC_IF], | |||
36 | [ac_cv_func_calloc_0_nonnull=no]) | 36 | [ac_cv_func_calloc_0_nonnull=no]) |
37 | else | 37 | else |
38 | case "$host_os" in | 38 | case "$host_os" in |
39 | # Guess yes on glibc systems. | 39 | # Guess yes on glibc systems. |
40 | *-gnu* | gnu*) ac_cv_func_calloc_0_nonnull="guessing yes" ;; | 40 | *-gnu* | gnu*) ac_cv_func_calloc_0_nonnull="guessing yes" ;; |
41 | # Guess yes on musl systems. | 41 | # Guess yes on musl systems. |
42 | *-musl*) ac_cv_func_calloc_0_nonnull="guessing yes" ;; | 42 | *-musl* | midipix*) ac_cv_func_calloc_0_nonnull="guessing yes" ;; |
43 | # Guess yes on native Windows. | 43 | # Guess yes on native Windows. |
44 | mingw*) ac_cv_func_calloc_0_nonnull="guessing yes" ;; | 44 | mingw* | windows*) ac_cv_func_calloc_0_nonnull="guessing yes" ;; |
45 | # If we don't know, obey --enable-cross-guesses. | 45 | # If we don't know, obey --enable-cross-guesses. |
46 | *) ac_cv_func_calloc_0_nonnull="$gl_cross_guess_normal" ;; | 46 | *) ac_cv_func_calloc_0_nonnull="$gl_cross_guess_normal" ;; |
47 | esac | 47 | esac |
48 | fi | 48 | fi |
49 | ]) | 49 | ]) |
diff --git a/gl/m4/close.m4 b/gl/m4/close.m4 index 9f95c670..88c37fab 100644 --- a/gl/m4/close.m4 +++ b/gl/m4/close.m4 | |||
@@ -1,10 +1,11 @@ | |||
1 | # close.m4 serial 9 | 1 | # close.m4 |
2 | dnl Copyright (C) 2008-2023 Free Software Foundation, Inc. | 2 | # serial 10 |
3 | dnl Copyright (C) 2008-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
6 | 7 | ||
7 | AC_DEFUN([gl_FUNC_CLOSE], | 8 | AC_DEFUN_ONCE([gl_FUNC_CLOSE], |
8 | [ | 9 | [ |
9 | AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) | 10 | AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) |
10 | m4_ifdef([gl_MSVC_INVAL], [ | 11 | m4_ifdef([gl_MSVC_INVAL], [ |
diff --git a/gl/m4/codeset.m4 b/gl/m4/codeset.m4 index 5804f472..e69b7402 100644 --- a/gl/m4/codeset.m4 +++ b/gl/m4/codeset.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # codeset.m4 serial 5 (gettext-0.18.2) | 1 | # codeset.m4 |
2 | dnl Copyright (C) 2000-2002, 2006, 2008-2014, 2016, 2019-2023 Free Software | 2 | # serial 5 (gettext-0.18.2) |
3 | dnl Copyright (C) 2000-2002, 2006, 2008-2014, 2016, 2019-2024 Free Software | ||
3 | dnl Foundation, Inc. | 4 | dnl Foundation, Inc. |
4 | dnl This file is free software; the Free Software Foundation | 5 | dnl This file is free software; the Free Software Foundation |
5 | dnl gives unlimited permission to copy and/or distribute it, | 6 | dnl gives unlimited permission to copy and/or distribute it, |
diff --git a/gl/m4/double-slash-root.m4 b/gl/m4/double-slash-root.m4 index 1776e5eb..3437c699 100644 --- a/gl/m4/double-slash-root.m4 +++ b/gl/m4/double-slash-root.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # double-slash-root.m4 serial 4 -*- Autoconf -*- | 1 | # double-slash-root.m4 |
2 | dnl Copyright (C) 2006, 2008-2023 Free Software Foundation, Inc. | 2 | # serial 4 -*- Autoconf -*- |
3 | dnl Copyright (C) 2006, 2008-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/dup2.m4 b/gl/m4/dup2.m4 index e1cc73e1..786121fd 100644 --- a/gl/m4/dup2.m4 +++ b/gl/m4/dup2.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | #serial 27 | 1 | # dup2.m4 |
2 | dnl Copyright (C) 2002, 2005, 2007, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 28 |
3 | dnl Copyright (C) 2002, 2005, 2007, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -67,7 +68,7 @@ AC_DEFUN([gl_FUNC_DUP2], | |||
67 | ], | 68 | ], |
68 | [gl_cv_func_dup2_works=yes], [gl_cv_func_dup2_works=no], | 69 | [gl_cv_func_dup2_works=yes], [gl_cv_func_dup2_works=no], |
69 | [case "$host_os" in | 70 | [case "$host_os" in |
70 | mingw*) # on this platform, dup2 always returns 0 for success | 71 | mingw* | windows*) # on this platform, dup2 always returns 0 for success |
71 | gl_cv_func_dup2_works="guessing no" ;; | 72 | gl_cv_func_dup2_works="guessing no" ;; |
72 | cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0 | 73 | cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0 |
73 | gl_cv_func_dup2_works="guessing no" ;; | 74 | gl_cv_func_dup2_works="guessing no" ;; |
diff --git a/gl/m4/eealloc.m4 b/gl/m4/eealloc.m4 index cb3e08fe..8a15e705 100644 --- a/gl/m4/eealloc.m4 +++ b/gl/m4/eealloc.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # eealloc.m4 serial 3 | 1 | # eealloc.m4 |
2 | dnl Copyright (C) 2003, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 3 |
3 | dnl Copyright (C) 2003, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/environ.m4 b/gl/m4/environ.m4 index 741dfc56..107960b2 100644 --- a/gl/m4/environ.m4 +++ b/gl/m4/environ.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # environ.m4 serial 8 | 1 | # environ.m4 |
2 | dnl Copyright (C) 2001-2004, 2006-2023 Free Software Foundation, Inc. | 2 | # serial 8 |
3 | dnl Copyright (C) 2001-2004, 2006-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/errno_h.m4 b/gl/m4/errno_h.m4 index 4c70d225..b6050e5d 100644 --- a/gl/m4/errno_h.m4 +++ b/gl/m4/errno_h.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # errno_h.m4 serial 14 | 1 | # errno_h.m4 |
2 | dnl Copyright (C) 2004, 2006, 2008-2023 Free Software Foundation, Inc. | 2 | # serial 14 |
3 | dnl Copyright (C) 2004, 2006, 2008-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/error.m4 b/gl/m4/error.m4 index 8cc75dff..273b636b 100644 --- a/gl/m4/error.m4 +++ b/gl/m4/error.m4 | |||
@@ -1,22 +1,12 @@ | |||
1 | #serial 15 | 1 | # error.m4 |
2 | 2 | # serial 16 | |
3 | # Copyright (C) 1996-1998, 2001-2004, 2009-2023 Free Software Foundation, Inc. | 3 | dnl Copyright (C) 1996-1998, 2001-2004, 2009-2024 Free Software Foundation, Inc. |
4 | # | 4 | dnl This file is free software; the Free Software Foundation |
5 | # This file is free software; the Free Software Foundation | 5 | dnl gives unlimited permission to copy and/or distribute it, |
6 | # gives unlimited permission to copy and/or distribute it, | 6 | dnl with or without modifications, as long as this notice is preserved. |
7 | # with or without modifications, as long as this notice is preserved. | ||
8 | 7 | ||
9 | AC_DEFUN([gl_ERROR], | 8 | AC_DEFUN([gl_ERROR], |
10 | [ | 9 | [ |
11 | dnl We don't use AC_FUNC_ERROR_AT_LINE any more, because it is no longer | ||
12 | dnl maintained in Autoconf and because it invokes AC_LIBOBJ. | ||
13 | AC_CACHE_CHECK([for error_at_line], [ac_cv_lib_error_at_line], | ||
14 | [AC_LINK_IFELSE( | ||
15 | [AC_LANG_PROGRAM( | ||
16 | [[#include <error.h>]], | ||
17 | [[error_at_line (0, 0, "", 0, "an error occurred");]])], | ||
18 | [ac_cv_lib_error_at_line=yes], | ||
19 | [ac_cv_lib_error_at_line=no])]) | ||
20 | ]) | 10 | ]) |
21 | 11 | ||
22 | # Prerequisites of lib/error.c. | 12 | # Prerequisites of lib/error.c. |
diff --git a/gl/m4/error_h.m4 b/gl/m4/error_h.m4 new file mode 100644 index 00000000..050a410c --- /dev/null +++ b/gl/m4/error_h.m4 | |||
@@ -0,0 +1,125 @@ | |||
1 | # error_h.m4 | ||
2 | # serial 4 | ||
3 | dnl Copyright (C) 1996-2024 Free Software Foundation, Inc. | ||
4 | dnl This file is free software; the Free Software Foundation | ||
5 | dnl gives unlimited permission to copy and/or distribute it, | ||
6 | dnl with or without modifications, as long as this notice is preserved. | ||
7 | |||
8 | dnl From Bruno Haible. | ||
9 | dnl Provide a working <error.h>. | ||
10 | |||
11 | AC_DEFUN_ONCE([gl_ERROR_H], | ||
12 | [ | ||
13 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
14 | |||
15 | gl_CHECK_NEXT_HEADERS([error.h]) | ||
16 | if test $ac_cv_header_error_h = yes; then | ||
17 | HAVE_ERROR_H=1 | ||
18 | else | ||
19 | HAVE_ERROR_H=0 | ||
20 | fi | ||
21 | AC_SUBST([HAVE_ERROR_H]) | ||
22 | |||
23 | REPLACE_ERROR=0 | ||
24 | |||
25 | gl_CHECK_FUNCS_ANDROID([error], [[#include <error.h>]]) | ||
26 | if test $ac_cv_func_error = yes; then | ||
27 | HAVE_ERROR=1 | ||
28 | else | ||
29 | HAVE_ERROR=0 | ||
30 | case "$gl_cv_onwards_func_error" in | ||
31 | future*) REPLACE_ERROR=1 ;; | ||
32 | esac | ||
33 | fi | ||
34 | |||
35 | dnl We don't use AC_FUNC_ERROR_AT_LINE any more, because it is no longer | ||
36 | dnl maintained in Autoconf and because it invokes AC_LIBOBJ. | ||
37 | dnl We need to notice a missing declaration, like gl_CHECK_FUNCS_ANDROID does. | ||
38 | AC_CHECK_DECL([error_at_line], , , [[#include <error.h>]]) | ||
39 | if test $ac_cv_have_decl_error_at_line = yes; then | ||
40 | AC_CACHE_CHECK([for error_at_line], [ac_cv_lib_error_at_line], | ||
41 | [AC_LINK_IFELSE( | ||
42 | [AC_LANG_PROGRAM( | ||
43 | [[#include <error.h>]], | ||
44 | [[error_at_line (0, 0, "", 0, "an error occurred");]])], | ||
45 | [ac_cv_lib_error_at_line=yes], | ||
46 | [ac_cv_lib_error_at_line=no])]) | ||
47 | else | ||
48 | ac_cv_lib_error_at_line=no | ||
49 | fi | ||
50 | if test $ac_cv_lib_error_at_line = yes; then | ||
51 | HAVE_ERROR_AT_LINE=1 | ||
52 | else | ||
53 | HAVE_ERROR_AT_LINE=0 | ||
54 | fi | ||
55 | REPLACE_ERROR_AT_LINE=0 | ||
56 | |||
57 | if test $ac_cv_func_error = yes && test $ac_cv_lib_error_at_line = yes; then | ||
58 | dnl On Android 11, when error_print_progname is set, the output of the | ||
59 | dnl error() function contains an extra space. | ||
60 | AC_CACHE_CHECK([for working error function], | ||
61 | [gl_cv_func_working_error], | ||
62 | [if test $cross_compiling != yes; then | ||
63 | AC_LINK_IFELSE( | ||
64 | [AC_LANG_PROGRAM([[ | ||
65 | #include <error.h> | ||
66 | static void print_no_progname (void) {} | ||
67 | ]], [[ | ||
68 | error_print_progname = print_no_progname; | ||
69 | error (0, 0, "foo"); | ||
70 | ]]) | ||
71 | ], | ||
72 | [rm -f conftest.out | ||
73 | if test -s conftest$ac_exeext \ | ||
74 | && ./conftest$ac_exeext 2> conftest.out; then | ||
75 | if grep ' ' conftest.out >/dev/null; then | ||
76 | gl_cv_func_working_error=no | ||
77 | else | ||
78 | gl_cv_func_working_error=yes | ||
79 | fi | ||
80 | else | ||
81 | gl_cv_func_working_error=no | ||
82 | fi | ||
83 | rm -f conftest.out | ||
84 | ], | ||
85 | [gl_cv_func_working_error=no]) | ||
86 | else | ||
87 | AC_COMPILE_IFELSE( | ||
88 | [AC_LANG_PROGRAM([[ | ||
89 | #include <error.h> | ||
90 | ]], [[ | ||
91 | error (0, 0, "foo"); | ||
92 | ]]) | ||
93 | ], | ||
94 | [case "$host_os" in | ||
95 | # Guess yes on glibc systems. | ||
96 | *-gnu* | gnu*) gl_cv_func_working_error="guessing yes" ;; | ||
97 | # Guess no on Android. | ||
98 | linux*-android*) gl_cv_func_working_error="guessing no" ;; | ||
99 | # If we don't know, obey --enable-cross-guesses. | ||
100 | *) gl_cv_func_working_error="$gl_cross_guess_normal" ;; | ||
101 | esac | ||
102 | ], | ||
103 | [gl_cv_func_working_error=no]) | ||
104 | fi | ||
105 | ]) | ||
106 | case "$gl_cv_func_working_error" in | ||
107 | *no) | ||
108 | REPLACE_ERROR=1 | ||
109 | REPLACE_ERROR_AT_LINE=1 | ||
110 | ;; | ||
111 | esac | ||
112 | fi | ||
113 | |||
114 | if test $HAVE_ERROR = 0 || test $REPLACE_ERROR = 1 \ | ||
115 | || test $HAVE_ERROR_AT_LINE = 0 || test $REPLACE_ERROR_AT_LINE = 1; then | ||
116 | COMPILE_ERROR_C=1 | ||
117 | else | ||
118 | COMPILE_ERROR_C=0 | ||
119 | fi | ||
120 | |||
121 | AC_SUBST([HAVE_ERROR]) | ||
122 | AC_SUBST([HAVE_ERROR_AT_LINE]) | ||
123 | AC_SUBST([REPLACE_ERROR]) | ||
124 | AC_SUBST([REPLACE_ERROR_AT_LINE]) | ||
125 | ]) | ||
diff --git a/gl/m4/exponentd.m4 b/gl/m4/exponentd.m4 index 2ef46437..db597afc 100644 --- a/gl/m4/exponentd.m4 +++ b/gl/m4/exponentd.m4 | |||
@@ -1,9 +1,10 @@ | |||
1 | # exponentd.m4 serial 3 | 1 | # exponentd.m4 |
2 | dnl Copyright (C) 2007-2008, 2010-2023 Free Software Foundation, Inc. | 2 | # serial 4 |
3 | dnl Copyright (C) 2007-2008, 2010-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
6 | AC_DEFUN([gl_DOUBLE_EXPONENT_LOCATION], | 7 | AC_DEFUN_ONCE([gl_DOUBLE_EXPONENT_LOCATION], |
7 | [ | 8 | [ |
8 | AC_CACHE_CHECK([where to find the exponent in a 'double'], | 9 | AC_CACHE_CHECK([where to find the exponent in a 'double'], |
9 | [gl_cv_cc_double_expbit0], | 10 | [gl_cv_cc_double_expbit0], |
diff --git a/gl/m4/extensions.m4 b/gl/m4/extensions.m4 index 5336b8da..1fb68956 100644 --- a/gl/m4/extensions.m4 +++ b/gl/m4/extensions.m4 | |||
@@ -1,10 +1,11 @@ | |||
1 | # serial 23 -*- Autoconf -*- | 1 | # extensions.m4 |
2 | # Enable extensions on systems that normally disable them. | 2 | # serial 25 -*- Autoconf -*- |
3 | dnl Copyright (C) 2003, 2006-2024 Free Software Foundation, Inc. | ||
4 | dnl This file is free software; the Free Software Foundation | ||
5 | dnl gives unlimited permission to copy and/or distribute it, | ||
6 | dnl with or without modifications, as long as this notice is preserved. | ||
3 | 7 | ||
4 | # Copyright (C) 2003, 2006-2023 Free Software Foundation, Inc. | 8 | # Enable extensions on systems that normally disable them. |
5 | # This file is free software; the Free Software Foundation | ||
6 | # gives unlimited permission to copy and/or distribute it, | ||
7 | # with or without modifications, as long as this notice is preserved. | ||
8 | 9 | ||
9 | dnl Define to empty for the benefit of Autoconf 2.69 and earlier, so that | 10 | dnl Define to empty for the benefit of Autoconf 2.69 and earlier, so that |
10 | dnl AC_USE_SYSTEM_EXTENSIONS (below) can be used unchanged from Autoconf 2.70+. | 11 | dnl AC_USE_SYSTEM_EXTENSIONS (below) can be used unchanged from Autoconf 2.70+. |
@@ -229,4 +230,15 @@ AC_DEFUN_ONCE([gl_USE_SYSTEM_EXTENSIONS], | |||
229 | [Define to enable the declarations of ISO C 11 types and functions.]) | 230 | [Define to enable the declarations of ISO C 11 types and functions.]) |
230 | ;; | 231 | ;; |
231 | esac | 232 | esac |
233 | |||
234 | dnl On OpenSolaris derivatives, the include files contains a couple of | ||
235 | dnl declarations that are only activated with an explicit | ||
236 | dnl -D__STDC_WANT_LIB_EXT1__. | ||
237 | AH_VERBATIM([USE_ISO_C_23_ANNEX_K_EXTENSIONS], | ||
238 | [/* Define to enable the declarations of ISO C 23 Annex K types and functions. */ | ||
239 | #if !(defined __STDC_WANT_LIB_EXT1__ && __STDC_WANT_LIB_EXT1__) | ||
240 | #undef/**/__STDC_WANT_LIB_EXT1__ | ||
241 | #define __STDC_WANT_LIB_EXT1__ 1 | ||
242 | #endif | ||
243 | ]) | ||
232 | ]) | 244 | ]) |
diff --git a/gl/m4/extern-inline.m4 b/gl/m4/extern-inline.m4 index c001b1cf..547da82a 100644 --- a/gl/m4/extern-inline.m4 +++ b/gl/m4/extern-inline.m4 | |||
@@ -1,10 +1,12 @@ | |||
1 | dnl 'extern inline' a la ISO C99. | 1 | # extern-inline.m4 |
2 | 2 | # serial 1 | |
3 | dnl Copyright 2012-2023 Free Software Foundation, Inc. | 3 | dnl Copyright 2012-2024 Free Software Foundation, Inc. |
4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
7 | 7 | ||
8 | dnl 'extern inline' a la ISO C99. | ||
9 | |||
8 | AC_DEFUN([gl_EXTERN_INLINE], | 10 | AC_DEFUN([gl_EXTERN_INLINE], |
9 | [ | 11 | [ |
10 | AC_CACHE_CHECK([whether ctype.h defines __header_inline], | 12 | AC_CACHE_CHECK([whether ctype.h defines __header_inline], |
@@ -79,7 +81,8 @@ AC_DEFUN([gl_EXTERN_INLINE], | |||
79 | # define _GL_EXTERN_INLINE_STDHEADER_BUG | 81 | # define _GL_EXTERN_INLINE_STDHEADER_BUG |
80 | #endif | 82 | #endif |
81 | #if ((__GNUC__ \ | 83 | #if ((__GNUC__ \ |
82 | ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ | 84 | ? (defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ |
85 | && !defined __PCC__) \ | ||
83 | : (199901L <= __STDC_VERSION__ \ | 86 | : (199901L <= __STDC_VERSION__ \ |
84 | && !defined __HP_cc \ | 87 | && !defined __HP_cc \ |
85 | && !defined __PGI \ | 88 | && !defined __PGI \ |
@@ -89,6 +92,7 @@ AC_DEFUN([gl_EXTERN_INLINE], | |||
89 | # define _GL_EXTERN_INLINE extern inline | 92 | # define _GL_EXTERN_INLINE extern inline |
90 | # define _GL_EXTERN_INLINE_IN_USE | 93 | # define _GL_EXTERN_INLINE_IN_USE |
91 | #elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ | 94 | #elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ |
95 | && !defined __PCC__ \ | ||
92 | && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) | 96 | && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) |
93 | # if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__ | 97 | # if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__ |
94 | /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ | 98 | /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ |
diff --git a/gl/m4/fclose.m4 b/gl/m4/fclose.m4 new file mode 100644 index 00000000..0c1358ed --- /dev/null +++ b/gl/m4/fclose.m4 | |||
@@ -0,0 +1,99 @@ | |||
1 | # fclose.m4 | ||
2 | # serial 12 | ||
3 | dnl Copyright (C) 2008-2024 Free Software Foundation, Inc. | ||
4 | dnl This file is free software; the Free Software Foundation | ||
5 | dnl gives unlimited permission to copy and/or distribute it, | ||
6 | dnl with or without modifications, as long as this notice is preserved. | ||
7 | |||
8 | AC_DEFUN_ONCE([gl_FUNC_FCLOSE], | ||
9 | [ | ||
10 | AC_REQUIRE([gl_STDIO_H_DEFAULTS]) | ||
11 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
12 | |||
13 | gl_FUNC_FFLUSH_STDIN | ||
14 | case "$gl_cv_func_fflush_stdin" in | ||
15 | *yes) ;; | ||
16 | *) REPLACE_FCLOSE=1 ;; | ||
17 | esac | ||
18 | |||
19 | AC_REQUIRE([gl_FUNC_CLOSE]) | ||
20 | if test $REPLACE_CLOSE = 1; then | ||
21 | REPLACE_FCLOSE=1 | ||
22 | fi | ||
23 | |||
24 | case "$host_os" in | ||
25 | openedition) REPLACE_FCLOSE=1 ;; | ||
26 | esac | ||
27 | |||
28 | if test $REPLACE_FCLOSE = 0; then | ||
29 | gl_FUNC_FCLOSE_STDIN | ||
30 | case "$gl_cv_func_fclose_stdin" in | ||
31 | *yes) ;; | ||
32 | *) REPLACE_FCLOSE=1 ;; | ||
33 | esac | ||
34 | fi | ||
35 | ]) | ||
36 | |||
37 | dnl Determine whether fclose works on input streams. | ||
38 | dnl Sets gl_cv_func_fclose_stdin. | ||
39 | |||
40 | AC_DEFUN([gl_FUNC_FCLOSE_STDIN], | ||
41 | [ | ||
42 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
43 | AC_CHECK_HEADERS_ONCE([unistd.h]) | ||
44 | AC_CACHE_CHECK([whether fclose works on input streams], | ||
45 | [gl_cv_func_fclose_stdin], | ||
46 | [echo hello world > conftest.txt | ||
47 | AC_RUN_IFELSE( | ||
48 | [AC_LANG_PROGRAM( | ||
49 | [[#include <fcntl.h> | ||
50 | #include <stdio.h> | ||
51 | #if HAVE_UNISTD_H | ||
52 | # include <unistd.h> | ||
53 | #else /* on Windows with MSVC */ | ||
54 | # include <io.h> | ||
55 | #endif | ||
56 | ]GL_MDA_DEFINES], | ||
57 | [[int fd; | ||
58 | int fd2; | ||
59 | FILE *fp; | ||
60 | fd = open ("conftest.txt", O_RDONLY); | ||
61 | if (fd < 0) | ||
62 | return 1; | ||
63 | if (lseek (fd, 1, SEEK_SET) != 1) | ||
64 | return 2; | ||
65 | fd2 = dup (fd); | ||
66 | if (fd2 < 0) | ||
67 | return 3; | ||
68 | fp = fdopen (fd2, "r"); | ||
69 | if (fp == NULL) | ||
70 | return 4; | ||
71 | if (fgetc (fp) != 'e') | ||
72 | { fclose (fp); return 5; } | ||
73 | /* This fclose() call should reposition the underlying file | ||
74 | descriptor. */ | ||
75 | if (fclose (fp) != 0) | ||
76 | return 6; | ||
77 | if (lseek (fd2, 0, SEEK_CUR) != -1) /* should fail with EBADF */ | ||
78 | return 7; | ||
79 | /* Verify the file position. */ | ||
80 | if (lseek (fd, 0, SEEK_CUR) != 2) | ||
81 | return 8; | ||
82 | return 0; | ||
83 | ]])], | ||
84 | [gl_cv_func_fclose_stdin=yes], | ||
85 | [gl_cv_func_fclose_stdin=no], | ||
86 | [case "$host_os" in | ||
87 | # Guess no on glibc systems. | ||
88 | *-gnu* | gnu*) gl_cv_func_fclose_stdin="guessing no" ;; | ||
89 | # Guess yes on musl systems. | ||
90 | *-musl* | midipix*) gl_cv_func_fclose_stdin="guessing yes" ;; | ||
91 | # Guess no on native Windows. | ||
92 | mingw* | windows*) gl_cv_func_fclose_stdin="guessing no" ;; | ||
93 | # If we don't know, obey --enable-cross-guesses. | ||
94 | *) gl_cv_func_fclose_stdin="$gl_cross_guess_normal" ;; | ||
95 | esac | ||
96 | ]) | ||
97 | rm conftest.txt | ||
98 | ]) | ||
99 | ]) | ||
diff --git a/gl/m4/fcntl-o.m4 b/gl/m4/fcntl-o.m4 index 59d558bd..43aa1325 100644 --- a/gl/m4/fcntl-o.m4 +++ b/gl/m4/fcntl-o.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # fcntl-o.m4 serial 7 | 1 | # fcntl-o.m4 |
2 | dnl Copyright (C) 2006, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 8 |
3 | dnl Copyright (C) 2006, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -117,9 +118,9 @@ AC_DEFUN([gl_FCNTL_O_FLAGS], | |||
117 | *) gl_cv_header_working_fcntl_h='no';; | 118 | *) gl_cv_header_working_fcntl_h='no';; |
118 | esac], | 119 | esac], |
119 | [case "$host_os" in | 120 | [case "$host_os" in |
120 | # Guess 'no' on native Windows. | 121 | # Guess 'no' on native Windows. |
121 | mingw*) gl_cv_header_working_fcntl_h='no' ;; | 122 | mingw* | windows*) gl_cv_header_working_fcntl_h='no' ;; |
122 | *) gl_cv_header_working_fcntl_h=cross-compiling ;; | 123 | *) gl_cv_header_working_fcntl_h=cross-compiling ;; |
123 | esac | 124 | esac |
124 | ]) | 125 | ]) |
125 | ]) | 126 | ]) |
diff --git a/gl/m4/fcntl.m4 b/gl/m4/fcntl.m4 index 524a99af..f6d0f377 100644 --- a/gl/m4/fcntl.m4 +++ b/gl/m4/fcntl.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # fcntl.m4 serial 11 | 1 | # fcntl.m4 |
2 | dnl Copyright (C) 2009-2023 Free Software Foundation, Inc. | 2 | # serial 12 |
3 | dnl Copyright (C) 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -82,7 +83,7 @@ AC_DEFUN([gl_FUNC_FCNTL], | |||
82 | esac | 83 | esac |
83 | 84 | ||
84 | dnl Many systems lack F_DUPFD_CLOEXEC. | 85 | dnl Many systems lack F_DUPFD_CLOEXEC. |
85 | dnl NetBSD 9.0 declares F_DUPFD_CLOEXEC but it works only like F_DUPFD. | 86 | dnl NetBSD 10.0 declares F_DUPFD_CLOEXEC but it works only like F_DUPFD. |
86 | AC_CACHE_CHECK([whether fcntl understands F_DUPFD_CLOEXEC], | 87 | AC_CACHE_CHECK([whether fcntl understands F_DUPFD_CLOEXEC], |
87 | [gl_cv_func_fcntl_f_dupfd_cloexec], | 88 | [gl_cv_func_fcntl_f_dupfd_cloexec], |
88 | [AC_RUN_IFELSE( | 89 | [AC_RUN_IFELSE( |
diff --git a/gl/m4/fcntl_h.m4 b/gl/m4/fcntl_h.m4 index 68f4e648..b69f7a0c 100644 --- a/gl/m4/fcntl_h.m4 +++ b/gl/m4/fcntl_h.m4 | |||
@@ -1,10 +1,12 @@ | |||
1 | # fcntl_h.m4 | ||
1 | # serial 20 | 2 | # serial 20 |
2 | # Configure fcntl.h. | 3 | dnl Copyright (C) 2006-2007, 2009-2024 Free Software Foundation, Inc. |
3 | dnl Copyright (C) 2006-2007, 2009-2023 Free Software Foundation, Inc. | ||
4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
7 | 7 | ||
8 | # Configure fcntl.h. | ||
9 | |||
8 | dnl Written by Paul Eggert. | 10 | dnl Written by Paul Eggert. |
9 | 11 | ||
10 | AC_DEFUN_ONCE([gl_FCNTL_H], | 12 | AC_DEFUN_ONCE([gl_FCNTL_H], |
diff --git a/gl/m4/fflush.m4 b/gl/m4/fflush.m4 index 3e3c8903..43fc3bf3 100644 --- a/gl/m4/fflush.m4 +++ b/gl/m4/fflush.m4 | |||
@@ -1,9 +1,9 @@ | |||
1 | # fflush.m4 serial 18 | 1 | # fflush.m4 |
2 | 2 | # serial 19 | |
3 | # Copyright (C) 2007-2023 Free Software Foundation, Inc. | 3 | dnl Copyright (C) 2007-2024 Free Software Foundation, Inc. |
4 | # This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
5 | # gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
6 | # with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
7 | 7 | ||
8 | dnl From Eric Blake | 8 | dnl From Eric Blake |
9 | 9 | ||
@@ -79,9 +79,9 @@ AC_DEFUN([gl_FUNC_FFLUSH_STDIN], | |||
79 | [gl_cv_func_fflush_stdin=yes], | 79 | [gl_cv_func_fflush_stdin=yes], |
80 | [gl_cv_func_fflush_stdin=no], | 80 | [gl_cv_func_fflush_stdin=no], |
81 | [case "$host_os" in | 81 | [case "$host_os" in |
82 | # Guess no on native Windows. | 82 | # Guess no on native Windows. |
83 | mingw*) gl_cv_func_fflush_stdin="guessing no" ;; | 83 | mingw* | windows*) gl_cv_func_fflush_stdin="guessing no" ;; |
84 | *) gl_cv_func_fflush_stdin=cross ;; | 84 | *) gl_cv_func_fflush_stdin=cross ;; |
85 | esac | 85 | esac |
86 | ]) | 86 | ]) |
87 | rm conftest.txt | 87 | rm conftest.txt |
diff --git a/gl/m4/float_h.m4 b/gl/m4/float_h.m4 index 2f0c9c4e..c95d4171 100644 --- a/gl/m4/float_h.m4 +++ b/gl/m4/float_h.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # float_h.m4 serial 13 | 1 | # float_h.m4 |
2 | dnl Copyright (C) 2007, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 14 |
3 | dnl Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -84,9 +85,11 @@ int main () | |||
84 | [gl_cv_func_itold_works="guessing no"], | 85 | [gl_cv_func_itold_works="guessing no"], |
85 | [gl_cv_func_itold_works="guessing yes"]) | 86 | [gl_cv_func_itold_works="guessing yes"]) |
86 | ;; | 87 | ;; |
87 | # Guess yes on native Windows. | 88 | # Guess yes on native Windows. |
88 | mingw*) gl_cv_func_itold_works="guessing yes" ;; | 89 | mingw* | windows*) |
89 | *) gl_cv_func_itold_works="guessing yes" ;; | 90 | gl_cv_func_itold_works="guessing yes" ;; |
91 | *) | ||
92 | gl_cv_func_itold_works="guessing yes" ;; | ||
90 | esac | 93 | esac |
91 | ]) | 94 | ]) |
92 | ]) | 95 | ]) |
diff --git a/gl/m4/floorf.m4 b/gl/m4/floorf.m4 index c49ffa6b..2572c848 100644 --- a/gl/m4/floorf.m4 +++ b/gl/m4/floorf.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # floorf.m4 serial 18 | 1 | # floorf.m4 |
2 | dnl Copyright (C) 2007, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 21 |
3 | dnl Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -26,7 +27,7 @@ AC_DEFUN([gl_FUNC_FLOORF], | |||
26 | AC_CACHE_CHECK([whether floorf works according to ISO C 99 with IEC 60559], | 27 | AC_CACHE_CHECK([whether floorf works according to ISO C 99 with IEC 60559], |
27 | [gl_cv_func_floorf_ieee], | 28 | [gl_cv_func_floorf_ieee], |
28 | [ | 29 | [ |
29 | save_LIBS="$LIBS" | 30 | saved_LIBS="$LIBS" |
30 | LIBS="$LIBS $FLOORF_LIBM" | 31 | LIBS="$LIBS $FLOORF_LIBM" |
31 | AC_RUN_IFELSE( | 32 | AC_RUN_IFELSE( |
32 | [AC_LANG_SOURCE([[ | 33 | [AC_LANG_SOURCE([[ |
@@ -49,17 +50,17 @@ int main (int argc, char *argv[]) | |||
49 | [gl_cv_func_floorf_ieee=yes], | 50 | [gl_cv_func_floorf_ieee=yes], |
50 | [gl_cv_func_floorf_ieee=no], | 51 | [gl_cv_func_floorf_ieee=no], |
51 | [case "$host_os" in | 52 | [case "$host_os" in |
52 | # Guess yes on glibc systems. | 53 | # Guess yes on glibc systems. |
53 | *-gnu* | gnu*) gl_cv_func_floorf_ieee="guessing yes" ;; | 54 | *-gnu* | gnu*) gl_cv_func_floorf_ieee="guessing yes" ;; |
54 | # Guess yes on musl systems. | 55 | # Guess yes on musl systems. |
55 | *-musl*) gl_cv_func_floorf_ieee="guessing yes" ;; | 56 | *-musl* | midipix*) gl_cv_func_floorf_ieee="guessing yes" ;; |
56 | # Guess yes on native Windows. | 57 | # Guess yes on native Windows. |
57 | mingw*) gl_cv_func_floorf_ieee="guessing yes" ;; | 58 | mingw* | windows*) gl_cv_func_floorf_ieee="guessing yes" ;; |
58 | # If we don't know, obey --enable-cross-guesses. | 59 | # If we don't know, obey --enable-cross-guesses. |
59 | *) gl_cv_func_floorf_ieee="$gl_cross_guess_normal" ;; | 60 | *) gl_cv_func_floorf_ieee="$gl_cross_guess_normal" ;; |
60 | esac | 61 | esac |
61 | ]) | 62 | ]) |
62 | LIBS="$save_LIBS" | 63 | LIBS="$saved_LIBS" |
63 | ]) | 64 | ]) |
64 | case "$gl_cv_func_floorf_ieee" in | 65 | case "$gl_cv_func_floorf_ieee" in |
65 | *yes) ;; | 66 | *yes) ;; |
@@ -94,7 +95,7 @@ AC_DEFUN([gl_FUNC_FLOORF_LIBS], | |||
94 | [[x = funcptr(x) + floorf(x);]])], | 95 | [[x = funcptr(x) + floorf(x);]])], |
95 | [gl_cv_func_floorf_libm=]) | 96 | [gl_cv_func_floorf_libm=]) |
96 | if test "$gl_cv_func_floorf_libm" = "?"; then | 97 | if test "$gl_cv_func_floorf_libm" = "?"; then |
97 | save_LIBS="$LIBS" | 98 | saved_LIBS="$LIBS" |
98 | LIBS="$LIBS -lm" | 99 | LIBS="$LIBS -lm" |
99 | AC_LINK_IFELSE( | 100 | AC_LINK_IFELSE( |
100 | [AC_LANG_PROGRAM( | 101 | [AC_LANG_PROGRAM( |
@@ -106,7 +107,7 @@ AC_DEFUN([gl_FUNC_FLOORF_LIBS], | |||
106 | float x;]], | 107 | float x;]], |
107 | [[x = funcptr(x) + floorf(x);]])], | 108 | [[x = funcptr(x) + floorf(x);]])], |
108 | [gl_cv_func_floorf_libm="-lm"]) | 109 | [gl_cv_func_floorf_libm="-lm"]) |
109 | LIBS="$save_LIBS" | 110 | LIBS="$saved_LIBS" |
110 | fi | 111 | fi |
111 | ]) | 112 | ]) |
112 | FLOORF_LIBM="$gl_cv_func_floorf_libm" | 113 | FLOORF_LIBM="$gl_cv_func_floorf_libm" |
diff --git a/gl/m4/fopen.m4 b/gl/m4/fopen.m4 index 9c39ff72..f3b7aadd 100644 --- a/gl/m4/fopen.m4 +++ b/gl/m4/fopen.m4 | |||
@@ -1,15 +1,16 @@ | |||
1 | # fopen.m4 serial 13 | 1 | # fopen.m4 |
2 | dnl Copyright (C) 2007-2023 Free Software Foundation, Inc. | 2 | # serial 16 |
3 | dnl Copyright (C) 2007-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
6 | 7 | ||
7 | AC_DEFUN([gl_FUNC_FOPEN], | 8 | AC_DEFUN([gl_FUNC_FOPEN_ITSELF], |
8 | [ | 9 | [ |
9 | AC_REQUIRE([gl_STDIO_H_DEFAULTS]) | 10 | AC_REQUIRE([gl_STDIO_H_DEFAULTS]) |
10 | AC_REQUIRE([AC_CANONICAL_HOST]) | 11 | AC_REQUIRE([AC_CANONICAL_HOST]) |
11 | case "$host_os" in | 12 | case "$host_os" in |
12 | mingw* | pw*) | 13 | mingw* | windows* | pw*) |
13 | dnl Replace fopen, for handling of "/dev/null". | 14 | dnl Replace fopen, for handling of "/dev/null". |
14 | REPLACE_FOPEN=1 | 15 | REPLACE_FOPEN=1 |
15 | dnl fopen on mingw also has the trailing slash bug. | 16 | dnl fopen on mingw also has the trailing slash bug. |
@@ -58,6 +59,15 @@ changequote([,])dnl | |||
58 | esac | 59 | esac |
59 | ]) | 60 | ]) |
60 | 61 | ||
62 | AC_DEFUN([gl_FUNC_FOPEN], | ||
63 | [ | ||
64 | AC_REQUIRE([gl_FUNC_FOPEN_ITSELF]) | ||
65 | AC_REQUIRE([gl_FUNC_FCLOSE]) | ||
66 | if test $REPLACE_FCLOSE = 1; then | ||
67 | REPLACE_FOPEN=1 | ||
68 | fi | ||
69 | ]) | ||
70 | |||
61 | AC_DEFUN([gl_FUNC_FOPEN_GNU], | 71 | AC_DEFUN([gl_FUNC_FOPEN_GNU], |
62 | [ | 72 | [ |
63 | AC_REQUIRE([gl_FUNC_FOPEN]) | 73 | AC_REQUIRE([gl_FUNC_FOPEN]) |
@@ -87,7 +97,7 @@ int main () | |||
87 | [gl_cv_func_fopen_mode_x=no], | 97 | [gl_cv_func_fopen_mode_x=no], |
88 | [case "$host_os" in | 98 | [case "$host_os" in |
89 | # Guess yes on glibc and musl systems. | 99 | # Guess yes on glibc and musl systems. |
90 | linux*-gnu* | gnu* | kfreebsd*-gnu | *-musl*) | 100 | linux*-gnu* | gnu* | kfreebsd*-gnu | *-musl* | midipix*) |
91 | gl_cv_func_fopen_mode_x="guessing yes" ;; | 101 | gl_cv_func_fopen_mode_x="guessing yes" ;; |
92 | # If we don't know, obey --enable-cross-guesses. | 102 | # If we don't know, obey --enable-cross-guesses. |
93 | *) | 103 | *) |
@@ -124,10 +134,10 @@ int main () | |||
124 | [gl_cv_func_fopen_mode_e=no], | 134 | [gl_cv_func_fopen_mode_e=no], |
125 | [case "$host_os" in | 135 | [case "$host_os" in |
126 | # Guess yes on glibc and musl systems. | 136 | # Guess yes on glibc and musl systems. |
127 | linux*-gnu* | gnu* | kfreebsd*-gnu | *-musl*) | 137 | linux*-gnu* | gnu* | kfreebsd*-gnu | *-musl* | midipix*) |
128 | gl_cv_func_fopen_mode_e="guessing yes" ;; | 138 | gl_cv_func_fopen_mode_e="guessing yes" ;; |
129 | # Guess no on native Windows. | 139 | # Guess no on native Windows. |
130 | mingw*) | 140 | mingw* | windows*) |
131 | gl_cv_func_fopen_mode_e="guessing no" ;; | 141 | gl_cv_func_fopen_mode_e="guessing no" ;; |
132 | # If we don't know, obey --enable-cross-guesses. | 142 | # If we don't know, obey --enable-cross-guesses. |
133 | *) | 143 | *) |
diff --git a/gl/m4/fpurge.m4 b/gl/m4/fpurge.m4 index b365409d..a77f5b96 100644 --- a/gl/m4/fpurge.m4 +++ b/gl/m4/fpurge.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # fpurge.m4 serial 12 | 1 | # fpurge.m4 |
2 | dnl Copyright (C) 2007, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 14 |
3 | dnl Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -10,7 +11,7 @@ AC_DEFUN([gl_FUNC_FPURGE], | |||
10 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | 11 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles |
11 | AC_CHECK_HEADERS_ONCE([stdio_ext.h]) | 12 | AC_CHECK_HEADERS_ONCE([stdio_ext.h]) |
12 | AC_CHECK_FUNCS_ONCE([fpurge]) | 13 | AC_CHECK_FUNCS_ONCE([fpurge]) |
13 | AC_CHECK_FUNCS_ONCE([__fpurge]) | 14 | gl_CHECK_FUNCS_ANDROID([__fpurge], [[#include <stdio_ext.h>]]) |
14 | AC_CHECK_DECLS([fpurge], , , [[#include <stdio.h>]]) | 15 | AC_CHECK_DECLS([fpurge], , , [[#include <stdio.h>]]) |
15 | if test "x$ac_cv_func_fpurge" = xyes; then | 16 | if test "x$ac_cv_func_fpurge" = xyes; then |
16 | HAVE_FPURGE=1 | 17 | HAVE_FPURGE=1 |
@@ -53,10 +54,10 @@ AC_DEFUN([gl_FUNC_FPURGE], | |||
53 | [gl_cv_func_fpurge_works=yes], | 54 | [gl_cv_func_fpurge_works=yes], |
54 | [gl_cv_func_fpurge_works=no], | 55 | [gl_cv_func_fpurge_works=no], |
55 | [case "$host_os" in | 56 | [case "$host_os" in |
56 | # Guess yes on musl systems. | 57 | # Guess yes on musl systems. |
57 | *-musl*) gl_cv_func_fpurge_works="guessing yes" ;; | 58 | *-musl* | midipix*) gl_cv_func_fpurge_works="guessing yes" ;; |
58 | # Otherwise obey --enable-cross-guesses. | 59 | # Otherwise obey --enable-cross-guesses. |
59 | *) gl_cv_func_fpurge_works="$gl_cross_guess_normal" ;; | 60 | *) gl_cv_func_fpurge_works="$gl_cross_guess_normal" ;; |
60 | esac | 61 | esac |
61 | ]) | 62 | ]) |
62 | ]) | 63 | ]) |
diff --git a/gl/m4/freading.m4 b/gl/m4/freading.m4 index 35333369..be899456 100644 --- a/gl/m4/freading.m4 +++ b/gl/m4/freading.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # freading.m4 serial 2 | 1 | # freading.m4 |
2 | dnl Copyright (C) 2007, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 3 |
3 | dnl Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -7,5 +8,8 @@ dnl with or without modifications, as long as this notice is preserved. | |||
7 | AC_DEFUN([gl_FUNC_FREADING], | 8 | AC_DEFUN([gl_FUNC_FREADING], |
8 | [ | 9 | [ |
9 | AC_CHECK_HEADERS_ONCE([stdio_ext.h]) | 10 | AC_CHECK_HEADERS_ONCE([stdio_ext.h]) |
10 | AC_CHECK_FUNCS_ONCE([__freading]) | 11 | gl_CHECK_FUNCS_ANDROID([__freading], |
12 | [[#include <stdio.h> | ||
13 | #include <stdio_ext.h> | ||
14 | ]]) | ||
11 | ]) | 15 | ]) |
diff --git a/gl/m4/free.m4 b/gl/m4/free.m4 index 0389dea3..a2b596d6 100644 --- a/gl/m4/free.m4 +++ b/gl/m4/free.m4 | |||
@@ -1,8 +1,9 @@ | |||
1 | # free.m4 serial 6 | 1 | # free.m4 |
2 | # Copyright (C) 2003-2005, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 6 |
3 | # This file is free software; the Free Software Foundation | 3 | dnl Copyright (C) 2003-2005, 2009-2024 Free Software Foundation, Inc. |
4 | # gives unlimited permission to copy and/or distribute it, | 4 | dnl This file is free software; the Free Software Foundation |
5 | # with or without modifications, as long as this notice is preserved. | 5 | dnl gives unlimited permission to copy and/or distribute it, |
6 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | 7 | ||
7 | # Written by Paul Eggert and Bruno Haible. | 8 | # Written by Paul Eggert and Bruno Haible. |
8 | 9 | ||
diff --git a/gl/m4/fseek.m4 b/gl/m4/fseek.m4 index c5fe688c..fb220a1f 100644 --- a/gl/m4/fseek.m4 +++ b/gl/m4/fseek.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # fseek.m4 serial 4 | 1 | # fseek.m4 |
2 | dnl Copyright (C) 2007, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 4 |
3 | dnl Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/fseeko.m4 b/gl/m4/fseeko.m4 index 05ee06bc..5682a1f2 100644 --- a/gl/m4/fseeko.m4 +++ b/gl/m4/fseeko.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # fseeko.m4 serial 20 | 1 | # fseeko.m4 |
2 | dnl Copyright (C) 2007-2023 Free Software Foundation, Inc. | 2 | # serial 20 |
3 | dnl Copyright (C) 2007-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/fstat.m4 b/gl/m4/fstat.m4 index 7cb2edb0..47777b0c 100644 --- a/gl/m4/fstat.m4 +++ b/gl/m4/fstat.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # fstat.m4 serial 8 | 1 | # fstat.m4 |
2 | dnl Copyright (C) 2011-2023 Free Software Foundation, Inc. | 2 | # serial 10 |
3 | dnl Copyright (C) 2011-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -10,10 +11,10 @@ AC_DEFUN([gl_FUNC_FSTAT], | |||
10 | AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) | 11 | AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) |
11 | 12 | ||
12 | case "$host_os" in | 13 | case "$host_os" in |
13 | mingw* | solaris*) | 14 | darwin* | mingw* | windows* | solaris*) |
15 | dnl macOS and Solaris stat can return a negative tv_nsec. | ||
14 | dnl On MinGW, the original stat() returns st_atime, st_mtime, | 16 | dnl On MinGW, the original stat() returns st_atime, st_mtime, |
15 | dnl st_ctime values that are affected by the time zone. | 17 | dnl st_ctime values that are affected by the time zone. |
16 | dnl Solaris stat can return a negative tv_nsec. | ||
17 | REPLACE_FSTAT=1 | 18 | REPLACE_FSTAT=1 |
18 | ;; | 19 | ;; |
19 | esac | 20 | esac |
diff --git a/gl/m4/fstypename.m4 b/gl/m4/fstypename.m4 index f65c459f..05a68805 100644 --- a/gl/m4/fstypename.m4 +++ b/gl/m4/fstypename.m4 | |||
@@ -1,4 +1,10 @@ | |||
1 | #serial 6 | 1 | # fstypename.m4 |
2 | # serial 6 | ||
3 | dnl Copyright (C) 1998-1999, 2001, 2004, 2006, 2009-2024 Free Software | ||
4 | dnl Foundation, Inc. | ||
5 | dnl This file is free software; the Free Software Foundation | ||
6 | dnl gives unlimited permission to copy and/or distribute it, | ||
7 | dnl with or without modifications, as long as this notice is preserved. | ||
2 | 8 | ||
3 | dnl From Jim Meyering. | 9 | dnl From Jim Meyering. |
4 | dnl | 10 | dnl |
@@ -6,12 +12,6 @@ dnl See if struct statfs has the f_fstypename member. | |||
6 | dnl If so, define HAVE_STRUCT_STATFS_F_FSTYPENAME. | 12 | dnl If so, define HAVE_STRUCT_STATFS_F_FSTYPENAME. |
7 | dnl | 13 | dnl |
8 | 14 | ||
9 | # Copyright (C) 1998-1999, 2001, 2004, 2006, 2009-2023 Free Software | ||
10 | # Foundation, Inc. | ||
11 | # This file is free software; the Free Software Foundation | ||
12 | # gives unlimited permission to copy and/or distribute it, | ||
13 | # with or without modifications, as long as this notice is preserved. | ||
14 | |||
15 | AC_DEFUN([gl_FSTYPENAME], | 15 | AC_DEFUN([gl_FSTYPENAME], |
16 | [ | 16 | [ |
17 | AC_CHECK_MEMBERS([struct statfs.f_fstypename],,, | 17 | AC_CHECK_MEMBERS([struct statfs.f_fstypename],,, |
diff --git a/gl/m4/fsusage.m4 b/gl/m4/fsusage.m4 index 88f3ca81..1ce90660 100644 --- a/gl/m4/fsusage.m4 +++ b/gl/m4/fsusage.m4 | |||
@@ -1,11 +1,11 @@ | |||
1 | # fsusage.m4 | ||
1 | # serial 35 | 2 | # serial 35 |
2 | # Obtaining file system usage information. | 3 | dnl Copyright (C) 1997-1998, 2000-2001, 2003-2024 Free Software Foundation, Inc. |
4 | dnl This file is free software; the Free Software Foundation | ||
5 | dnl gives unlimited permission to copy and/or distribute it, | ||
6 | dnl with or without modifications, as long as this notice is preserved. | ||
3 | 7 | ||
4 | # Copyright (C) 1997-1998, 2000-2001, 2003-2023 Free Software Foundation, Inc. | 8 | # Obtaining file system usage information. |
5 | # | ||
6 | # This file is free software; the Free Software Foundation | ||
7 | # gives unlimited permission to copy and/or distribute it, | ||
8 | # with or without modifications, as long as this notice is preserved. | ||
9 | 9 | ||
10 | # Written by Jim Meyering. | 10 | # Written by Jim Meyering. |
11 | 11 | ||
@@ -269,7 +269,7 @@ int check_f_blocks_size[sizeof fsd.f_blocks * CHAR_BIT <= 32 ? -1 : 1]; | |||
269 | 269 | ||
270 | # Check for SunOS statfs brokenness wrt partitions 2GB and larger. | 270 | # Check for SunOS statfs brokenness wrt partitions 2GB and larger. |
271 | # If <sys/vfs.h> exists and struct statfs has a member named f_spare, | 271 | # If <sys/vfs.h> exists and struct statfs has a member named f_spare, |
272 | # enable the work-around code in fsusage.c. | 272 | # enable the workaround code in fsusage.c. |
273 | AC_DEFUN([gl_STATFS_TRUNCATES], | 273 | AC_DEFUN([gl_STATFS_TRUNCATES], |
274 | [ | 274 | [ |
275 | AC_CACHE_CHECK([for statfs that truncates block counts], | 275 | AC_CACHE_CHECK([for statfs that truncates block counts], |
diff --git a/gl/m4/ftell.m4 b/gl/m4/ftell.m4 index 79f1aaf2..ab10736b 100644 --- a/gl/m4/ftell.m4 +++ b/gl/m4/ftell.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # ftell.m4 serial 3 | 1 | # ftell.m4 |
2 | dnl Copyright (C) 2007, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 3 |
3 | dnl Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/ftello.m4 b/gl/m4/ftello.m4 index 4901b168..0eb8fa0d 100644 --- a/gl/m4/ftello.m4 +++ b/gl/m4/ftello.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # ftello.m4 serial 14 | 1 | # ftello.m4 |
2 | dnl Copyright (C) 2007-2023 Free Software Foundation, Inc. | 2 | # serial 16 |
3 | dnl Copyright (C) 2007-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -37,13 +38,24 @@ AC_DEFUN([gl_FUNC_FTELLO], | |||
37 | if test $gl_cv_var_stdin_large_offset = no; then | 38 | if test $gl_cv_var_stdin_large_offset = no; then |
38 | REPLACE_FTELLO=1 | 39 | REPLACE_FTELLO=1 |
39 | fi | 40 | fi |
41 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
42 | if test $REPLACE_FTELLO = 0; then | ||
43 | dnl On native Windows, in some circumstances, ftell(), ftello(), | ||
44 | dnl fgetpos(), lseek(), _lseeki64() all succeed on devices of type | ||
45 | dnl FILE_TYPE_PIPE. However, to match POSIX behaviour, we want | ||
46 | dnl ftell(), ftello(), fgetpos(), lseek() to fail when the argument fd | ||
47 | dnl designates a pipe. See also | ||
48 | dnl https://github.com/python/cpython/issues/78961#issuecomment-1093800325 | ||
49 | case "$host_os" in | ||
50 | mingw* | windows*) REPLACE_FTELLO=1 ;; | ||
51 | esac | ||
52 | fi | ||
40 | if test $REPLACE_FTELLO = 0; then | 53 | if test $REPLACE_FTELLO = 0; then |
41 | dnl Detect bug on Solaris. | 54 | dnl Detect bug on Solaris. |
42 | dnl ftell and ftello produce incorrect results after putc that followed a | 55 | dnl ftell and ftello produce incorrect results after putc that followed a |
43 | dnl getc call that reached EOF on Solaris. This is because the _IOREAD | 56 | dnl getc call that reached EOF on Solaris. This is because the _IOREAD |
44 | dnl flag does not get cleared in this case, even though _IOWRT gets set, | 57 | dnl flag does not get cleared in this case, even though _IOWRT gets set, |
45 | dnl and ftell and ftello look whether the _IOREAD flag is set. | 58 | dnl and ftell and ftello look whether the _IOREAD flag is set. |
46 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
47 | AC_CACHE_CHECK([whether ftello works], | 59 | AC_CACHE_CHECK([whether ftello works], |
48 | [gl_cv_func_ftello_works], | 60 | [gl_cv_func_ftello_works], |
49 | [ | 61 | [ |
@@ -51,12 +63,12 @@ AC_DEFUN([gl_FUNC_FTELLO], | |||
51 | dnl be opened. | 63 | dnl be opened. |
52 | changequote(,)dnl | 64 | changequote(,)dnl |
53 | case "$host_os" in | 65 | case "$host_os" in |
54 | # Guess no on Solaris. | 66 | # Guess no on Solaris. |
55 | solaris*) gl_cv_func_ftello_works="guessing no" ;; | 67 | solaris*) gl_cv_func_ftello_works="guessing no" ;; |
56 | # Guess yes on native Windows. | 68 | # Guess yes on native Windows. |
57 | mingw*) gl_cv_func_ftello_works="guessing yes" ;; | 69 | mingw* | windows*) gl_cv_func_ftello_works="guessing yes" ;; |
58 | # Guess yes otherwise. | 70 | # Guess yes otherwise. |
59 | *) gl_cv_func_ftello_works="guessing yes" ;; | 71 | *) gl_cv_func_ftello_works="guessing yes" ;; |
60 | esac | 72 | esac |
61 | changequote([,])dnl | 73 | changequote([,])dnl |
62 | AC_RUN_IFELSE( | 74 | AC_RUN_IFELSE( |
diff --git a/gl/m4/getaddrinfo.m4 b/gl/m4/getaddrinfo.m4 index 15f09ffb..8e209177 100644 --- a/gl/m4/getaddrinfo.m4 +++ b/gl/m4/getaddrinfo.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # getaddrinfo.m4 serial 34 | 1 | # getaddrinfo.m4 |
2 | dnl Copyright (C) 2004-2023 Free Software Foundation, Inc. | 2 | # serial 35 |
3 | dnl Copyright (C) 2004-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -41,7 +42,7 @@ AC_DEFUN([gl_GETADDRINFO], | |||
41 | AC_CACHE_CHECK([for getaddrinfo in ws2tcpip.h and -lws2_32], | 42 | AC_CACHE_CHECK([for getaddrinfo in ws2tcpip.h and -lws2_32], |
42 | gl_cv_w32_getaddrinfo, [ | 43 | gl_cv_w32_getaddrinfo, [ |
43 | gl_cv_w32_getaddrinfo=no | 44 | gl_cv_w32_getaddrinfo=no |
44 | am_save_LIBS="$LIBS" | 45 | gl_saved_LIBS="$LIBS" |
45 | LIBS="$LIBS -lws2_32" | 46 | LIBS="$LIBS -lws2_32" |
46 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ | 47 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ |
47 | #ifdef HAVE_WS2TCPIP_H | 48 | #ifdef HAVE_WS2TCPIP_H |
@@ -49,7 +50,7 @@ AC_DEFUN([gl_GETADDRINFO], | |||
49 | #endif | 50 | #endif |
50 | #include <stddef.h> | 51 | #include <stddef.h> |
51 | ]], [[getaddrinfo(NULL, NULL, NULL, NULL);]])], [gl_cv_w32_getaddrinfo=yes]) | 52 | ]], [[getaddrinfo(NULL, NULL, NULL, NULL);]])], [gl_cv_w32_getaddrinfo=yes]) |
52 | LIBS="$am_save_LIBS" | 53 | LIBS="$gl_saved_LIBS" |
53 | ]) | 54 | ]) |
54 | if test "$gl_cv_w32_getaddrinfo" = "yes"; then | 55 | if test "$gl_cv_w32_getaddrinfo" = "yes"; then |
55 | GETADDRINFO_LIB="-lws2_32" | 56 | GETADDRINFO_LIB="-lws2_32" |
diff --git a/gl/m4/getdelim.m4 b/gl/m4/getdelim.m4 index 9aaed202..61139039 100644 --- a/gl/m4/getdelim.m4 +++ b/gl/m4/getdelim.m4 | |||
@@ -1,6 +1,7 @@ | |||
1 | # getdelim.m4 serial 16 | 1 | # getdelim.m4 |
2 | # serial 19 | ||
2 | 3 | ||
3 | dnl Copyright (C) 2005-2007, 2009-2023 Free Software Foundation, Inc. | 4 | dnl Copyright (C) 2005-2007, 2009-2024 Free Software Foundation, Inc. |
4 | dnl | 5 | dnl |
5 | dnl This file is free software; the Free Software Foundation | 6 | dnl This file is free software; the Free Software Foundation |
6 | dnl gives unlimited permission to copy and/or distribute it, | 7 | dnl gives unlimited permission to copy and/or distribute it, |
@@ -18,7 +19,7 @@ AC_DEFUN([gl_FUNC_GETDELIM], | |||
18 | 19 | ||
19 | AC_CHECK_DECLS_ONCE([getdelim]) | 20 | AC_CHECK_DECLS_ONCE([getdelim]) |
20 | 21 | ||
21 | AC_CHECK_FUNCS_ONCE([getdelim]) | 22 | gl_CHECK_FUNCS_ANDROID([getdelim], [[#include <stdio.h>]]) |
22 | if test $ac_cv_func_getdelim = yes; then | 23 | if test $ac_cv_func_getdelim = yes; then |
23 | HAVE_GETDELIM=1 | 24 | HAVE_GETDELIM=1 |
24 | dnl Found it in some library. Verify that it works. | 25 | dnl Found it in some library. Verify that it works. |
@@ -82,8 +83,8 @@ AC_DEFUN([gl_FUNC_GETDELIM], | |||
82 | ], | 83 | ], |
83 | [gl_cv_func_working_getdelim="guessing yes"], | 84 | [gl_cv_func_working_getdelim="guessing yes"], |
84 | [case "$host_os" in | 85 | [case "$host_os" in |
85 | *-musl*) gl_cv_func_working_getdelim="guessing yes" ;; | 86 | *-musl* | midipix*) gl_cv_func_working_getdelim="guessing yes" ;; |
86 | *) gl_cv_func_working_getdelim="$gl_cross_guess_normal" ;; | 87 | *) gl_cv_func_working_getdelim="$gl_cross_guess_normal" ;; |
87 | esac | 88 | esac |
88 | ]) | 89 | ]) |
89 | ]) | 90 | ]) |
@@ -96,6 +97,9 @@ AC_DEFUN([gl_FUNC_GETDELIM], | |||
96 | esac | 97 | esac |
97 | else | 98 | else |
98 | HAVE_GETDELIM=0 | 99 | HAVE_GETDELIM=0 |
100 | case "$gl_cv_onwards_func_getdelim" in | ||
101 | future*) REPLACE_GETDELIM=1 ;; | ||
102 | esac | ||
99 | fi | 103 | fi |
100 | 104 | ||
101 | if test $ac_cv_have_decl_getdelim = no; then | 105 | if test $ac_cv_have_decl_getdelim = no; then |
diff --git a/gl/m4/getdtablesize.m4 b/gl/m4/getdtablesize.m4 index 8bcda905..aaefe9b2 100644 --- a/gl/m4/getdtablesize.m4 +++ b/gl/m4/getdtablesize.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # getdtablesize.m4 serial 8 | 1 | # getdtablesize.m4 |
2 | dnl Copyright (C) 2008-2023 Free Software Foundation, Inc. | 2 | # serial 8 |
3 | dnl Copyright (C) 2008-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/gethostname.m4 b/gl/m4/gethostname.m4 index 63f5f636..2f743b7d 100644 --- a/gl/m4/gethostname.m4 +++ b/gl/m4/gethostname.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # gethostname.m4 serial 15 | 1 | # gethostname.m4 |
2 | dnl Copyright (C) 2002, 2008-2023 Free Software Foundation, Inc. | 2 | # serial 16 |
3 | dnl Copyright (C) 2002, 2008-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -20,7 +21,7 @@ AC_DEFUN([gl_FUNC_GETHOSTNAME], | |||
20 | AC_CACHE_CHECK([for gethostname in winsock2.h and -lws2_32], | 21 | AC_CACHE_CHECK([for gethostname in winsock2.h and -lws2_32], |
21 | [gl_cv_w32_gethostname], | 22 | [gl_cv_w32_gethostname], |
22 | [gl_cv_w32_gethostname=no | 23 | [gl_cv_w32_gethostname=no |
23 | gl_save_LIBS="$LIBS" | 24 | gl_saved_LIBS="$LIBS" |
24 | LIBS="$LIBS -lws2_32" | 25 | LIBS="$LIBS -lws2_32" |
25 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ | 26 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ |
26 | #ifdef HAVE_WINSOCK2_H | 27 | #ifdef HAVE_WINSOCK2_H |
@@ -28,7 +29,7 @@ AC_DEFUN([gl_FUNC_GETHOSTNAME], | |||
28 | #endif | 29 | #endif |
29 | #include <stddef.h> | 30 | #include <stddef.h> |
30 | ]], [[gethostname(NULL, 0);]])], [gl_cv_w32_gethostname=yes]) | 31 | ]], [[gethostname(NULL, 0);]])], [gl_cv_w32_gethostname=yes]) |
31 | LIBS="$gl_save_LIBS" | 32 | LIBS="$gl_saved_LIBS" |
32 | ]) | 33 | ]) |
33 | if test "$gl_cv_w32_gethostname" = "yes"; then | 34 | if test "$gl_cv_w32_gethostname" = "yes"; then |
34 | GETHOSTNAME_LIB="-lws2_32" | 35 | GETHOSTNAME_LIB="-lws2_32" |
diff --git a/gl/m4/getline.m4 b/gl/m4/getline.m4 index 03569f06..36513cd4 100644 --- a/gl/m4/getline.m4 +++ b/gl/m4/getline.m4 | |||
@@ -1,6 +1,7 @@ | |||
1 | # getline.m4 serial 30 | 1 | # getline.m4 |
2 | # serial 33 | ||
2 | 3 | ||
3 | dnl Copyright (C) 1998-2003, 2005-2007, 2009-2023 Free Software Foundation, | 4 | dnl Copyright (C) 1998-2003, 2005-2007, 2009-2024 Free Software Foundation, |
4 | dnl Inc. | 5 | dnl Inc. |
5 | dnl | 6 | dnl |
6 | dnl This file is free software; the Free Software Foundation | 7 | dnl This file is free software; the Free Software Foundation |
@@ -23,12 +24,9 @@ AC_DEFUN([gl_FUNC_GETLINE], | |||
23 | 24 | ||
24 | AC_CHECK_DECLS_ONCE([getline]) | 25 | AC_CHECK_DECLS_ONCE([getline]) |
25 | 26 | ||
26 | gl_getline_needs_run_time_check=no | 27 | gl_CHECK_FUNCS_ANDROID([getline], [[#include <stdio.h>]]) |
27 | AC_CHECK_FUNC([getline], | 28 | if test $ac_cv_func_getline = yes; then |
28 | [dnl Found it in some library. Verify that it works. | 29 | dnl Found it in some library. Verify that it works. |
29 | gl_getline_needs_run_time_check=yes], | ||
30 | [am_cv_func_working_getline=no]) | ||
31 | if test $gl_getline_needs_run_time_check = yes; then | ||
32 | AC_CACHE_CHECK([for working getline function], | 30 | AC_CACHE_CHECK([for working getline function], |
33 | [am_cv_func_working_getline], | 31 | [am_cv_func_working_getline], |
34 | [echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data | 32 | [echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data |
@@ -79,12 +77,17 @@ AC_DEFUN([gl_FUNC_GETLINE], | |||
79 | ], | 77 | ], |
80 | [am_cv_func_working_getline="guessing yes"], | 78 | [am_cv_func_working_getline="guessing yes"], |
81 | [case "$host_os" in | 79 | [case "$host_os" in |
82 | *-musl*) am_cv_func_working_getline="guessing yes" ;; | 80 | *-musl* | midipix*) am_cv_func_working_getline="guessing yes" ;; |
83 | *) am_cv_func_working_getline="$gl_cross_guess_normal" ;; | 81 | *) am_cv_func_working_getline="$gl_cross_guess_normal" ;; |
84 | esac | 82 | esac |
85 | ]) | 83 | ]) |
86 | ]) | 84 | ]) |
87 | ]) | 85 | ]) |
86 | else | ||
87 | am_cv_func_working_getline=no | ||
88 | case "$gl_cv_onwards_func_getline" in | ||
89 | future*) REPLACE_GETLINE=1 ;; | ||
90 | esac | ||
88 | fi | 91 | fi |
89 | 92 | ||
90 | if test $ac_cv_have_decl_getline = no; then | 93 | if test $ac_cv_have_decl_getline = no; then |
diff --git a/gl/m4/getloadavg.m4 b/gl/m4/getloadavg.m4 index 79e420ba..0918bcd2 100644 --- a/gl/m4/getloadavg.m4 +++ b/gl/m4/getloadavg.m4 | |||
@@ -1,13 +1,12 @@ | |||
1 | # Check for getloadavg. | 1 | # getloadavg.m4 |
2 | 2 | # serial 13 | |
3 | # Copyright (C) 1992-1996, 1999-2000, 2002-2003, 2006, 2008-2023 Free Software | 3 | dnl Copyright (C) 1992-1996, 1999-2000, 2002-2003, 2006, 2008-2024 Free Software |
4 | # Foundation, Inc. | 4 | dnl Foundation, Inc. |
5 | dnl This file is free software; the Free Software Foundation | ||
6 | dnl gives unlimited permission to copy and/or distribute it, | ||
7 | dnl with or without modifications, as long as this notice is preserved. | ||
5 | 8 | ||
6 | # This file is free software; the Free Software Foundation | 9 | # Check for getloadavg. |
7 | # gives unlimited permission to copy and/or distribute it, | ||
8 | # with or without modifications, as long as this notice is preserved. | ||
9 | |||
10 | #serial 10 | ||
11 | 10 | ||
12 | # Autoconf defines AC_FUNC_GETLOADAVG, but that is obsolescent. | 11 | # Autoconf defines AC_FUNC_GETLOADAVG, but that is obsolescent. |
13 | # New applications should use gl_GETLOADAVG instead. | 12 | # New applications should use gl_GETLOADAVG instead. |
@@ -20,13 +19,18 @@ AC_DEFUN([gl_GETLOADAVG], | |||
20 | # Persuade glibc <stdlib.h> to declare getloadavg(). | 19 | # Persuade glibc <stdlib.h> to declare getloadavg(). |
21 | AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) | 20 | AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) |
22 | 21 | ||
23 | gl_save_LIBS=$LIBS | 22 | gl_saved_LIBS=$LIBS |
24 | 23 | ||
25 | # getloadavg is present in libc on glibc >= 2.2, Mac OS X, FreeBSD >= 2.0, | 24 | # getloadavg is present in libc on glibc >= 2.2, Mac OS X, FreeBSD >= 2.0, |
26 | # NetBSD >= 0.9, OpenBSD >= 2.0, Solaris >= 7. | 25 | # NetBSD >= 0.9, OpenBSD >= 2.0, Solaris >= 7. |
27 | HAVE_GETLOADAVG=1 | 26 | HAVE_GETLOADAVG=1 |
28 | AC_CHECK_FUNC([getloadavg], [], | 27 | gl_CHECK_FUNCS_ANDROID([getloadavg], [[#include <stdlib.h>]]) |
29 | [gl_func_getloadavg_done=no | 28 | if test $ac_cv_func_getloadavg != yes; then |
29 | case "$gl_cv_onwards_func_getloadavg" in | ||
30 | future*) REPLACE_GETLOADAVG=1 ;; | ||
31 | esac | ||
32 | |||
33 | gl_func_getloadavg_done=no | ||
30 | 34 | ||
31 | # Some systems with -lutil have (and need) -lkvm as well, some do not. | 35 | # Some systems with -lutil have (and need) -lkvm as well, some do not. |
32 | # On Solaris, -lkvm requires nlist from -lelf, so check that first | 36 | # On Solaris, -lkvm requires nlist from -lelf, so check that first |
@@ -73,14 +77,15 @@ AC_CHECK_FUNC([getloadavg], [], | |||
73 | AC_DEFINE([DGUX], [1], [Define to 1 for DGUX with <sys/dg_sys_info.h>.]) | 77 | AC_DEFINE([DGUX], [1], [Define to 1 for DGUX with <sys/dg_sys_info.h>.]) |
74 | AC_CHECK_LIB([dgc], [dg_sys_info])]) | 78 | AC_CHECK_LIB([dgc], [dg_sys_info])]) |
75 | fi | 79 | fi |
76 | fi]) | 80 | fi |
81 | fi | ||
77 | 82 | ||
78 | if test "x$gl_save_LIBS" = x; then | 83 | if test "x$gl_saved_LIBS" = x; then |
79 | GETLOADAVG_LIBS=$LIBS | 84 | GETLOADAVG_LIBS=$LIBS |
80 | else | 85 | else |
81 | GETLOADAVG_LIBS=`echo "$LIBS" | sed "s!$gl_save_LIBS!!"` | 86 | GETLOADAVG_LIBS=`echo "$LIBS" | sed "s!$gl_saved_LIBS!!"` |
82 | fi | 87 | fi |
83 | LIBS=$gl_save_LIBS | 88 | LIBS=$gl_saved_LIBS |
84 | 89 | ||
85 | AC_SUBST([GETLOADAVG_LIBS])dnl | 90 | AC_SUBST([GETLOADAVG_LIBS])dnl |
86 | 91 | ||
diff --git a/gl/m4/getopt.m4 b/gl/m4/getopt.m4 index 7981a095..297722ea 100644 --- a/gl/m4/getopt.m4 +++ b/gl/m4/getopt.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # getopt.m4 serial 48 | 1 | # getopt.m4 |
2 | dnl Copyright (C) 2002-2006, 2008-2023 Free Software Foundation, Inc. | 2 | # serial 49 |
3 | dnl Copyright (C) 2002-2006, 2008-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -197,8 +198,8 @@ main () | |||
197 | fi | 198 | fi |
198 | else | 199 | else |
199 | case "$host_os" in | 200 | case "$host_os" in |
200 | darwin* | aix* | mingw*) gl_cv_func_getopt_posix="guessing no";; | 201 | darwin* | aix* | mingw* | windows*) gl_cv_func_getopt_posix="guessing no";; |
201 | *) gl_cv_func_getopt_posix="guessing yes";; | 202 | *) gl_cv_func_getopt_posix="guessing yes";; |
202 | esac | 203 | esac |
203 | fi | 204 | fi |
204 | ]) | 205 | ]) |
diff --git a/gl/m4/getprogname.m4 b/gl/m4/getprogname.m4 index b67c527c..b24f4480 100644 --- a/gl/m4/getprogname.m4 +++ b/gl/m4/getprogname.m4 | |||
@@ -1,16 +1,33 @@ | |||
1 | # getprogname.m4 - check for getprogname or replacements for it | 1 | # getprogname.m4 |
2 | # serial 8 | ||
3 | dnl Copyright (C) 2016-2024 Free Software Foundation, Inc. | ||
4 | dnl This file is free software; the Free Software Foundation | ||
5 | dnl gives unlimited permission to copy and/or distribute it, | ||
6 | dnl with or without modifications, as long as this notice is preserved. | ||
2 | 7 | ||
3 | # Copyright (C) 2016-2023 Free Software Foundation, Inc. | 8 | # Check for getprogname or replacements for it |
4 | # This file is free software; the Free Software Foundation | ||
5 | # gives unlimited permission to copy and/or distribute it, | ||
6 | # with or without modifications, as long as this notice is preserved. | ||
7 | |||
8 | # serial 4 | ||
9 | 9 | ||
10 | AC_DEFUN([gl_FUNC_GETPROGNAME], | 10 | AC_DEFUN([gl_FUNC_GETPROGNAME], |
11 | [ | 11 | [ |
12 | AC_CHECK_FUNCS_ONCE([getprogname getexecname]) | 12 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) |
13 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | ||
14 | gl_CHECK_FUNCS_ANDROID([getprogname], [[#include <stdlib.h>]]) | ||
15 | if test $ac_cv_func_getprogname = no; then | ||
16 | HAVE_GETPROGNAME=0 | ||
17 | case "$gl_cv_onwards_func_getprogname" in | ||
18 | future*) REPLACE_GETPROGNAME=1 ;; | ||
19 | esac | ||
20 | fi | ||
21 | AC_CHECK_DECLS([program_invocation_name], | ||
22 | [], | ||
23 | [HAVE_DECL_PROGRAM_INVOCATION_NAME=0], | ||
24 | [[#include <errno.h>]]) | ||
25 | ]) | ||
26 | |||
27 | AC_DEFUN([gl_PREREQ_GETPROGNAME], | ||
28 | [ | ||
13 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | 29 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) |
30 | AC_CHECK_FUNCS_ONCE([getexecname]) | ||
14 | ac_found=0 | 31 | ac_found=0 |
15 | AC_CHECK_DECLS([program_invocation_name], [ac_found=1], [], | 32 | AC_CHECK_DECLS([program_invocation_name], [ac_found=1], [], |
16 | [#include <errno.h>]) | 33 | [#include <errno.h>]) |
diff --git a/gl/m4/gl-openssl.m4 b/gl/m4/gl-openssl.m4 index 7eab4e10..c5e1f7ba 100644 --- a/gl/m4/gl-openssl.m4 +++ b/gl/m4/gl-openssl.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # gl-openssl.m4 serial 6 | 1 | # gl-openssl.m4 |
2 | dnl Copyright (C) 2013-2023 Free Software Foundation, Inc. | 2 | # serial 7 |
3 | dnl Copyright (C) 2013-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -39,6 +40,9 @@ AC_DEFUN([gl_CRYPTO_CHECK], | |||
39 | AC_SUBST([LIB_CRYPTO]) | 40 | AC_SUBST([LIB_CRYPTO]) |
40 | if test "x$with_openssl" != xno; then | 41 | if test "x$with_openssl" != xno; then |
41 | if test "x$with_openssl" = xauto-gpl-compat; then | 42 | if test "x$with_openssl" = xauto-gpl-compat; then |
43 | dnl OpenSSL versions < 3 are under the OpenSSL license, which is not | ||
44 | dnl GPL compatible. | ||
45 | dnl See <https://www.gnu.org/licenses/license-list.en.html#OpenSSL>. | ||
42 | AC_CACHE_CHECK([whether openssl is GPL compatible], | 46 | AC_CACHE_CHECK([whether openssl is GPL compatible], |
43 | [gl_cv_openssl_gpl_compat], | 47 | [gl_cv_openssl_gpl_compat], |
44 | [AC_COMPILE_IFELSE( | 48 | [AC_COMPILE_IFELSE( |
diff --git a/gl/m4/gnulib-cache.m4 b/gl/m4/gnulib-cache.m4 index 267f0692..fcf84226 100644 --- a/gl/m4/gnulib-cache.m4 +++ b/gl/m4/gnulib-cache.m4 | |||
@@ -1,4 +1,4 @@ | |||
1 | # Copyright (C) 2002-2023 Free Software Foundation, Inc. | 1 | # Copyright (C) 2002-2024 Free Software Foundation, Inc. |
2 | # | 2 | # |
3 | # This file is free software; you can redistribute it and/or modify | 3 | # This file is free software; you can redistribute it and/or modify |
4 | # it under the terms of the GNU General Public License as published by | 4 | # it under the terms of the GNU General Public License as published by |
diff --git a/gl/m4/gnulib-common.m4 b/gl/m4/gnulib-common.m4 index facc3404..cb730449 100644 --- a/gl/m4/gnulib-common.m4 +++ b/gl/m4/gnulib-common.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # gnulib-common.m4 serial 75a | 1 | # gnulib-common.m4 |
2 | dnl Copyright (C) 2007-2023 Free Software Foundation, Inc. | 2 | # serial 93 |
3 | dnl Copyright (C) 2007-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -15,6 +16,10 @@ AC_DEFUN([gl_COMMON], [ | |||
15 | AC_REQUIRE([gl_ZZGNULIB]) | 16 | AC_REQUIRE([gl_ZZGNULIB]) |
16 | ]) | 17 | ]) |
17 | AC_DEFUN([gl_COMMON_BODY], [ | 18 | AC_DEFUN([gl_COMMON_BODY], [ |
19 | AH_VERBATIM([0witness], | ||
20 | [/* Witness that <config.h> has been included. */ | ||
21 | #define _GL_CONFIG_H_INCLUDED 1 | ||
22 | ]) | ||
18 | AH_VERBATIM([_GL_GNUC_PREREQ], | 23 | AH_VERBATIM([_GL_GNUC_PREREQ], |
19 | [/* True if the compiler says it groks GNU C version MAJOR.MINOR. */ | 24 | [/* True if the compiler says it groks GNU C version MAJOR.MINOR. */ |
20 | #if defined __GNUC__ && defined __GNUC_MINOR__ | 25 | #if defined __GNUC__ && defined __GNUC_MINOR__ |
@@ -72,50 +77,74 @@ AC_DEFUN([gl_COMMON_BODY], [ | |||
72 | #endif]) | 77 | #endif]) |
73 | AH_VERBATIM([attribute], | 78 | AH_VERBATIM([attribute], |
74 | [/* Attributes. */ | 79 | [/* Attributes. */ |
75 | #if (defined __has_attribute \ | 80 | /* Define _GL_HAS_ATTRIBUTE only once, because on FreeBSD, with gcc < 5, if |
76 | && (!defined __clang_minor__ \ | 81 | <config.h> gets included once again after <sys/cdefs.h>, __has_attribute(x) |
77 | || (defined __apple_build_version__ \ | 82 | expands to 0 always, and redefining _GL_HAS_ATTRIBUTE would turn off all |
78 | ? 6000000 <= __apple_build_version__ \ | 83 | attributes. */ |
79 | : 3 < __clang_major__ + (5 <= __clang_minor__)))) | 84 | #ifndef _GL_HAS_ATTRIBUTE |
80 | # define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__) | 85 | # if (defined __has_attribute \ |
81 | #else | 86 | && (!defined __clang_minor__ \ |
82 | # define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr | 87 | || (defined __apple_build_version__ \ |
83 | # define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3) | 88 | ? 7000000 <= __apple_build_version__ \ |
84 | # define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2) | 89 | : 5 <= __clang_major__))) |
85 | # define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3) | 90 | # define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__) |
86 | # define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3) | ||
87 | # define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95) | ||
88 | # define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1) | ||
89 | # define _GL_ATTR_diagnose_if 0 | ||
90 | # define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3) | ||
91 | # define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1) | ||
92 | # define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0) | ||
93 | # define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7) | ||
94 | # define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6) | ||
95 | # define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0) | ||
96 | # ifdef _ICC | ||
97 | # define _GL_ATTR_may_alias 0 | ||
98 | # else | 91 | # else |
99 | # define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3) | 92 | # define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr |
93 | # define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3) | ||
94 | # define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2) | ||
95 | # define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3) | ||
96 | # define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3) | ||
97 | # define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95) | ||
98 | # define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1) | ||
99 | # define _GL_ATTR_diagnose_if 0 | ||
100 | # define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3) | ||
101 | # define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1) | ||
102 | # define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0) | ||
103 | # define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7) | ||
104 | # define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6) | ||
105 | # define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0) | ||
106 | # ifdef _ICC | ||
107 | # define _GL_ATTR_may_alias 0 | ||
108 | # else | ||
109 | # define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3) | ||
110 | # endif | ||
111 | # define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1) | ||
112 | # define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3) | ||
113 | # define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0) | ||
114 | # define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3) | ||
115 | # define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7) | ||
116 | # define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96) | ||
117 | # define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9) | ||
118 | # define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0) | ||
119 | # define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7) | ||
120 | # define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4) | ||
100 | # endif | 121 | # endif |
101 | # define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1) | ||
102 | # define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3) | ||
103 | # define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0) | ||
104 | # define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3) | ||
105 | # define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7) | ||
106 | # define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96) | ||
107 | # define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9) | ||
108 | # define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0) | ||
109 | # define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7) | ||
110 | # define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4) | ||
111 | #endif | 122 | #endif |
112 | 123 | ||
113 | /* Disable GCC -Wpedantic if using __has_c_attribute and this is not C23+. */ | 124 | /* Use __has_c_attribute if available. However, do not use with |
114 | #if (defined __has_c_attribute && _GL_GNUC_PREREQ (4, 6) \ | 125 | pre-C23 GCC, which can issue false positives if -Wpedantic. */ |
115 | && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) <= 201710) | 126 | #if (defined __has_c_attribute \ |
116 | # pragma GCC diagnostic ignored "-Wpedantic" | 127 | && ! (_GL_GNUC_PREREQ (4, 6) \ |
128 | && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) <= 201710)) | ||
129 | # define _GL_HAVE___HAS_C_ATTRIBUTE 1 | ||
130 | #else | ||
131 | # define _GL_HAVE___HAS_C_ATTRIBUTE 0 | ||
117 | #endif | 132 | #endif |
118 | 133 | ||
134 | /* Define if, in a function declaration, the attributes in bracket syntax | ||
135 | [[...]] must come before the attributes in __attribute__((...)) syntax. | ||
136 | If this is defined, it is best to avoid the bracket syntax, so that the | ||
137 | various _GL_ATTRIBUTE_* can be cumulated on the same declaration in any | ||
138 | order. */ | ||
139 | #ifdef __cplusplus | ||
140 | # if defined __clang__ | ||
141 | # define _GL_BRACKET_BEFORE_ATTRIBUTE 1 | ||
142 | # endif | ||
143 | #else | ||
144 | # if defined __GNUC__ && !defined __clang__ | ||
145 | # define _GL_BRACKET_BEFORE_ATTRIBUTE 1 | ||
146 | # endif | ||
147 | #endif | ||
119 | ]dnl There is no _GL_ATTRIBUTE_ALIGNED; use stdalign's alignas instead. | 148 | ]dnl There is no _GL_ATTRIBUTE_ALIGNED; use stdalign's alignas instead. |
120 | [ | 149 | [ |
121 | /* _GL_ATTRIBUTE_ALLOC_SIZE ((N)) declares that the Nth argument of the function | 150 | /* _GL_ATTRIBUTE_ALLOC_SIZE ((N)) declares that the Nth argument of the function |
@@ -223,9 +252,11 @@ AC_DEFUN([gl_COMMON_BODY], [ | |||
223 | - typedef, | 252 | - typedef, |
224 | in C++ also: namespace, class, template specialization. */ | 253 | in C++ also: namespace, class, template specialization. */ |
225 | #ifndef _GL_ATTRIBUTE_DEPRECATED | 254 | #ifndef _GL_ATTRIBUTE_DEPRECATED |
226 | # ifdef __has_c_attribute | 255 | # ifndef _GL_BRACKET_BEFORE_ATTRIBUTE |
227 | # if __has_c_attribute (__deprecated__) | 256 | # if _GL_HAVE___HAS_C_ATTRIBUTE |
228 | # define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]] | 257 | # if __has_c_attribute (__deprecated__) |
258 | # define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]] | ||
259 | # endif | ||
229 | # endif | 260 | # endif |
230 | # endif | 261 | # endif |
231 | # if !defined _GL_ATTRIBUTE_DEPRECATED && _GL_HAS_ATTRIBUTE (deprecated) | 262 | # if !defined _GL_ATTRIBUTE_DEPRECATED && _GL_HAS_ATTRIBUTE (deprecated) |
@@ -271,7 +302,7 @@ AC_DEFUN([gl_COMMON_BODY], [ | |||
271 | /* Applies to: Empty statement (;), inside a 'switch' statement. */ | 302 | /* Applies to: Empty statement (;), inside a 'switch' statement. */ |
272 | /* Always expands to something. */ | 303 | /* Always expands to something. */ |
273 | #ifndef _GL_ATTRIBUTE_FALLTHROUGH | 304 | #ifndef _GL_ATTRIBUTE_FALLTHROUGH |
274 | # ifdef __has_c_attribute | 305 | # if _GL_HAVE___HAS_C_ATTRIBUTE |
275 | # if __has_c_attribute (__fallthrough__) | 306 | # if __has_c_attribute (__fallthrough__) |
276 | # define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]] | 307 | # define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]] |
277 | # endif | 308 | # endif |
@@ -351,11 +382,19 @@ AC_DEFUN([gl_COMMON_BODY], [ | |||
351 | in C++ also: class. */ | 382 | in C++ also: class. */ |
352 | /* In C++ and C23, this is spelled [[__maybe_unused__]]. | 383 | /* In C++ and C23, this is spelled [[__maybe_unused__]]. |
353 | GCC's syntax is __attribute__ ((__unused__)). | 384 | GCC's syntax is __attribute__ ((__unused__)). |
354 | clang supports both syntaxes. */ | 385 | clang supports both syntaxes. Except that with clang ≥ 6, < 10, in C++ mode, |
386 | __has_c_attribute (__maybe_unused__) yields true but the use of | ||
387 | [[__maybe_unused__]] nevertheless produces a warning. */ | ||
355 | #ifndef _GL_ATTRIBUTE_MAYBE_UNUSED | 388 | #ifndef _GL_ATTRIBUTE_MAYBE_UNUSED |
356 | # ifdef __has_c_attribute | 389 | # ifndef _GL_BRACKET_BEFORE_ATTRIBUTE |
357 | # if __has_c_attribute (__maybe_unused__) | 390 | # if defined __clang__ && defined __cplusplus |
358 | # define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] | 391 | # if !defined __apple_build_version__ && __clang_major__ >= 10 |
392 | # define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] | ||
393 | # endif | ||
394 | # elif _GL_HAVE___HAS_C_ATTRIBUTE | ||
395 | # if __has_c_attribute (__maybe_unused__) | ||
396 | # define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] | ||
397 | # endif | ||
359 | # endif | 398 | # endif |
360 | # endif | 399 | # endif |
361 | # ifndef _GL_ATTRIBUTE_MAYBE_UNUSED | 400 | # ifndef _GL_ATTRIBUTE_MAYBE_UNUSED |
@@ -373,9 +412,20 @@ AC_DEFUN([gl_COMMON_BODY], [ | |||
373 | the return value, unless the caller uses something like ignore_value. */ | 412 | the return value, unless the caller uses something like ignore_value. */ |
374 | /* Applies to: function, enumeration, class. */ | 413 | /* Applies to: function, enumeration, class. */ |
375 | #ifndef _GL_ATTRIBUTE_NODISCARD | 414 | #ifndef _GL_ATTRIBUTE_NODISCARD |
376 | # ifdef __has_c_attribute | 415 | # ifndef _GL_BRACKET_BEFORE_ATTRIBUTE |
377 | # if __has_c_attribute (__nodiscard__) | 416 | # if defined __clang__ && defined __cplusplus |
378 | # define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]] | 417 | /* With clang up to 15.0.6 (at least), in C++ mode, [[__nodiscard__]] produces |
418 | a warning. | ||
419 | The 1000 below means a yet unknown threshold. When clang++ version X | ||
420 | starts supporting [[__nodiscard__]] without warning about it, you can | ||
421 | replace the 1000 with X. */ | ||
422 | # if __clang_major__ >= 1000 | ||
423 | # define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]] | ||
424 | # endif | ||
425 | # elif _GL_HAVE___HAS_C_ATTRIBUTE | ||
426 | # if __has_c_attribute (__nodiscard__) | ||
427 | # define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]] | ||
428 | # endif | ||
379 | # endif | 429 | # endif |
380 | # endif | 430 | # endif |
381 | # if !defined _GL_ATTRIBUTE_NODISCARD && _GL_HAS_ATTRIBUTE (warn_unused_result) | 431 | # if !defined _GL_ATTRIBUTE_NODISCARD && _GL_HAS_ATTRIBUTE (warn_unused_result) |
@@ -427,11 +477,25 @@ AC_DEFUN([gl_COMMON_BODY], [ | |||
427 | /* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions. | 477 | /* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions. |
428 | */ | 478 | */ |
429 | /* Applies to: functions. */ | 479 | /* Applies to: functions. */ |
480 | /* After a function's parameter list, this attribute must come first, before | ||
481 | other attributes. */ | ||
430 | #ifndef _GL_ATTRIBUTE_NOTHROW | 482 | #ifndef _GL_ATTRIBUTE_NOTHROW |
431 | # if _GL_HAS_ATTRIBUTE (nothrow) && !defined __cplusplus | 483 | # if defined __cplusplus |
432 | # define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) | 484 | # if _GL_GNUC_PREREQ (2, 8) || __clang_major >= 4 |
485 | # if __cplusplus >= 201103L | ||
486 | # define _GL_ATTRIBUTE_NOTHROW noexcept (true) | ||
487 | # else | ||
488 | # define _GL_ATTRIBUTE_NOTHROW throw () | ||
489 | # endif | ||
490 | # else | ||
491 | # define _GL_ATTRIBUTE_NOTHROW | ||
492 | # endif | ||
433 | # else | 493 | # else |
434 | # define _GL_ATTRIBUTE_NOTHROW | 494 | # if _GL_HAS_ATTRIBUTE (nothrow) |
495 | # define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) | ||
496 | # else | ||
497 | # define _GL_ATTRIBUTE_NOTHROW | ||
498 | # endif | ||
435 | # endif | 499 | # endif |
436 | #endif | 500 | #endif |
437 | 501 | ||
@@ -441,8 +505,10 @@ AC_DEFUN([gl_COMMON_BODY], [ | |||
441 | minimizing the memory required. */ | 505 | minimizing the memory required. */ |
442 | /* Applies to: struct members, struct, union, | 506 | /* Applies to: struct members, struct, union, |
443 | in C++ also: class. */ | 507 | in C++ also: class. */ |
508 | /* Oracle Studio 12.6 miscompiles code with __attribute__ ((__packed__)) despite | ||
509 | __has_attribute OK. */ | ||
444 | #ifndef _GL_ATTRIBUTE_PACKED | 510 | #ifndef _GL_ATTRIBUTE_PACKED |
445 | # if _GL_HAS_ATTRIBUTE (packed) | 511 | # if _GL_HAS_ATTRIBUTE (packed) && !defined __SUNPRO_C |
446 | # define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__)) | 512 | # define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__)) |
447 | # else | 513 | # else |
448 | # define _GL_ATTRIBUTE_PACKED | 514 | # define _GL_ATTRIBUTE_PACKED |
@@ -513,6 +579,18 @@ AC_DEFUN([gl_COMMON_BODY], [ | |||
513 | # endif | 579 | # endif |
514 | #endif | 580 | #endif |
515 | ]) | 581 | ]) |
582 | AH_VERBATIM([c_linkage], | ||
583 | [/* In C++, there is the concept of "language linkage", that encompasses | ||
584 | name mangling and function calling conventions. | ||
585 | The following macros start and end a block of "C" linkage. */ | ||
586 | #ifdef __cplusplus | ||
587 | # define _GL_BEGIN_C_LINKAGE extern "C" { | ||
588 | # define _GL_END_C_LINKAGE } | ||
589 | #else | ||
590 | # define _GL_BEGIN_C_LINKAGE | ||
591 | # define _GL_END_C_LINKAGE | ||
592 | #endif | ||
593 | ]) | ||
516 | AH_VERBATIM([async_safe], | 594 | AH_VERBATIM([async_safe], |
517 | [/* The _GL_ASYNC_SAFE marker should be attached to functions that are | 595 | [/* The _GL_ASYNC_SAFE marker should be attached to functions that are |
518 | signal handlers (for signals other than SIGABRT, SIGPIPE) or can be | 596 | signal handlers (for signals other than SIGABRT, SIGPIPE) or can be |
@@ -568,7 +646,7 @@ AC_DEFUN([gl_COMMON_BODY], [ | |||
568 | dnl gl_cross_guess_normal (to be used when 'yes' is good and 'no' is bad), | 646 | dnl gl_cross_guess_normal (to be used when 'yes' is good and 'no' is bad), |
569 | dnl gl_cross_guess_inverted (to be used when 'no' is good and 'yes' is bad). | 647 | dnl gl_cross_guess_inverted (to be used when 'no' is good and 'yes' is bad). |
570 | AC_ARG_ENABLE([cross-guesses], | 648 | AC_ARG_ENABLE([cross-guesses], |
571 | [AS_HELP_STRING([--enable-cross-guesses={conservative|risky}], | 649 | [AS_HELP_STRING([[--enable-cross-guesses={conservative|risky}]], |
572 | [specify policy for cross-compilation guesses])], | 650 | [specify policy for cross-compilation guesses])], |
573 | [if test "x$enableval" != xconservative && test "x$enableval" != xrisky; then | 651 | [if test "x$enableval" != xconservative && test "x$enableval" != xrisky; then |
574 | AC_MSG_WARN([invalid argument supplied to --enable-cross-guesses]) | 652 | AC_MSG_WARN([invalid argument supplied to --enable-cross-guesses]) |
@@ -1005,6 +1083,7 @@ AC_DEFUN([gl_CC_GNULIB_WARNINGS], | |||
1005 | dnl -Wno-pedantic >= 4.8 >= 3.9 | 1083 | dnl -Wno-pedantic >= 4.8 >= 3.9 |
1006 | dnl -Wno-sign-compare >= 3 >= 3.9 | 1084 | dnl -Wno-sign-compare >= 3 >= 3.9 |
1007 | dnl -Wno-sign-conversion >= 4.3 >= 3.9 | 1085 | dnl -Wno-sign-conversion >= 4.3 >= 3.9 |
1086 | dnl -Wno-tautological-out-of-range-compare - >= 3.9 | ||
1008 | dnl -Wno-type-limits >= 4.3 >= 3.9 | 1087 | dnl -Wno-type-limits >= 4.3 >= 3.9 |
1009 | dnl -Wno-undef >= 3 >= 3.9 | 1088 | dnl -Wno-undef >= 3 >= 3.9 |
1010 | dnl -Wno-unsuffixed-float-constants >= 4.5 | 1089 | dnl -Wno-unsuffixed-float-constants >= 4.5 |
@@ -1030,6 +1109,9 @@ AC_DEFUN([gl_CC_GNULIB_WARNINGS], | |||
1030 | #if __GNUC__ + (__GNUC_MINOR__ >= 8) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) | 1109 | #if __GNUC__ + (__GNUC_MINOR__ >= 8) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) |
1031 | -Wno-pedantic | 1110 | -Wno-pedantic |
1032 | #endif | 1111 | #endif |
1112 | #if 3 < __clang_major__ + (9 <= __clang_minor__) | ||
1113 | -Wno-tautological-constant-out-of-range-compare | ||
1114 | #endif | ||
1033 | #if __GNUC__ + (__GNUC_MINOR__ >= 3) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) | 1115 | #if __GNUC__ + (__GNUC_MINOR__ >= 3) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) |
1034 | -Wno-sign-conversion | 1116 | -Wno-sign-conversion |
1035 | -Wno-type-limits | 1117 | -Wno-type-limits |
@@ -1080,6 +1162,238 @@ AC_DEFUN([gl_CONDITIONAL_HEADER], | |||
1080 | m4_popdef([gl_header_name]) | 1162 | m4_popdef([gl_header_name]) |
1081 | ]) | 1163 | ]) |
1082 | 1164 | ||
1165 | dnl Preparations for gl_CHECK_FUNCS_MACOS. | ||
1166 | AC_DEFUN([gl_PREPARE_CHECK_FUNCS_MACOS], | ||
1167 | [ | ||
1168 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
1169 | AC_REQUIRE([gl_COMPILER_CLANG]) | ||
1170 | AC_CACHE_CHECK([for compiler option needed when checking for future declarations], | ||
1171 | [gl_cv_compiler_check_future_option], | ||
1172 | [case "$host_os" in | ||
1173 | dnl This is only needed on macOS. | ||
1174 | darwin*) | ||
1175 | if test $gl_cv_compiler_clang = yes; then | ||
1176 | dnl Test whether the compiler supports the option | ||
1177 | dnl '-Werror=unguarded-availability-new'. | ||
1178 | saved_ac_compile="$ac_compile" | ||
1179 | ac_compile="$ac_compile -Werror=unguarded-availability-new" | ||
1180 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],[[]])], | ||
1181 | [gl_cv_compiler_check_future_option='-Werror=unguarded-availability-new'], | ||
1182 | [gl_cv_compiler_check_future_option=none]) | ||
1183 | ac_compile="$saved_ac_compile" | ||
1184 | else | ||
1185 | gl_cv_compiler_check_future_option=none | ||
1186 | fi | ||
1187 | ;; | ||
1188 | *) gl_cv_compiler_check_future_option=none ;; | ||
1189 | esac | ||
1190 | ]) | ||
1191 | ]) | ||
1192 | |||
1193 | dnl Pieces of the expansion of | ||
1194 | dnl gl_CHECK_FUNCS_ANDROID | ||
1195 | dnl gl_CHECK_FUNCS_MACOS | ||
1196 | dnl gl_CHECK_FUNCS_ANDROID_MACOS | ||
1197 | |||
1198 | AC_DEFUN([gl_CHECK_FUNCS_DEFAULT_CASE], | ||
1199 | [ | ||
1200 | *) | ||
1201 | AC_CHECK_FUNC([$1]) | ||
1202 | [gl_cv_onwards_func_][$1]=$[ac_cv_func_][$1] | ||
1203 | ;; | ||
1204 | ]) | ||
1205 | |||
1206 | AC_DEFUN([gl_CHECK_FUNCS_CASE_FOR_ANDROID], | ||
1207 | [ | ||
1208 | linux*-android*) | ||
1209 | AC_CHECK_DECL([$1], , , [$2]) | ||
1210 | if test $[ac_cv_have_decl_][$1] = yes; then | ||
1211 | AC_CHECK_FUNC([[$1]]) | ||
1212 | if test $[ac_cv_func_][$1] = yes; then | ||
1213 | [gl_cv_onwards_func_][$1]=yes | ||
1214 | else | ||
1215 | dnl The function is declared but does not exist. This should not | ||
1216 | dnl happen normally. But anyway, we know that a future version | ||
1217 | dnl of Android will have the function. | ||
1218 | [gl_cv_onwards_func_][$1]='future OS version' | ||
1219 | fi | ||
1220 | else | ||
1221 | [gl_cv_onwards_func_][$1]='future OS version' | ||
1222 | fi | ||
1223 | ;; | ||
1224 | ]) | ||
1225 | |||
1226 | AC_DEFUN([gl_CHECK_FUNCS_CASE_FOR_MACOS], | ||
1227 | [ | ||
1228 | darwin*) | ||
1229 | if test "x$gl_cv_compiler_check_future_option" != "xnone"; then | ||
1230 | dnl Use a compile test, not a link test. | ||
1231 | saved_ac_compile="$ac_compile" | ||
1232 | ac_compile="$ac_compile $gl_cv_compiler_check_future_option" | ||
1233 | saved_ac_compile_for_check_decl="$ac_compile_for_check_decl" | ||
1234 | ac_compile_for_check_decl="$ac_compile_for_check_decl $gl_cv_compiler_check_future_option" | ||
1235 | unset [ac_cv_have_decl_][$1] | ||
1236 | AC_CHECK_DECL([$1], , , [$2]) | ||
1237 | ac_compile="$saved_ac_compile" | ||
1238 | ac_compile_for_check_decl="$saved_ac_compile_for_check_decl" | ||
1239 | [ac_cv_func_][$1]="$[ac_cv_have_decl_][$1]" | ||
1240 | if test $[ac_cv_func_][$1] = yes; then | ||
1241 | [gl_cv_onwards_func_][$1]=yes | ||
1242 | else | ||
1243 | unset [ac_cv_have_decl_][$1] | ||
1244 | AC_CHECK_DECL([$1], , , [$2]) | ||
1245 | if test $[ac_cv_have_decl_][$1] = yes; then | ||
1246 | [gl_cv_onwards_func_][$1]='future OS version' | ||
1247 | else | ||
1248 | [gl_cv_onwards_func_][$1]=no | ||
1249 | fi | ||
1250 | fi | ||
1251 | else | ||
1252 | AC_CHECK_FUNC([$1]) | ||
1253 | [gl_cv_onwards_func_][$1]=$[ac_cv_func_][$1] | ||
1254 | fi | ||
1255 | ;; | ||
1256 | ]) | ||
1257 | |||
1258 | AC_DEFUN([gl_CHECK_FUNCS_SET_RESULTS], | ||
1259 | [ | ||
1260 | case "$[gl_cv_onwards_func_][$1]" in | ||
1261 | future*) [ac_cv_func_][$1]=no ;; | ||
1262 | *) [ac_cv_func_][$1]=$[gl_cv_onwards_func_][$1] ;; | ||
1263 | esac | ||
1264 | if test $[ac_cv_func_][$1] = yes; then | ||
1265 | AC_DEFINE([HAVE_]m4_translit([[$1]], | ||
1266 | [abcdefghijklmnopqrstuvwxyz], | ||
1267 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ]), | ||
1268 | [1], [Define to 1 if you have the `$1' function.]) | ||
1269 | fi | ||
1270 | ]) | ||
1271 | |||
1272 | dnl gl_CHECK_FUNCS_ANDROID([func], [[#include <foo.h>]]) | ||
1273 | dnl is like AC_CHECK_FUNCS([func]), taking into account a portability problem | ||
1274 | dnl on Android. | ||
1275 | dnl | ||
1276 | dnl When code is compiled on Android, it is in the context of a certain | ||
1277 | dnl "Android API level", which indicates the minimum version of Android on | ||
1278 | dnl which the app can be installed. In other words, you don't compile for a | ||
1279 | dnl specific version of Android. You compile for all versions of Android, | ||
1280 | dnl onwards from the given API level. | ||
1281 | dnl Thus, the question "does the OS have the function func" has three possible | ||
1282 | dnl answers: | ||
1283 | dnl - yes, in all versions starting from the given API level, | ||
1284 | dnl - no, in no version, | ||
1285 | dnl - not in the given API level, but in a later version of Android. | ||
1286 | dnl | ||
1287 | dnl In detail, this works as follows: | ||
1288 | dnl If func was added to Android API level, say, 28, then the libc.so has the | ||
1289 | dnl symbol func always, whereas the header file <foo.h> declares func | ||
1290 | dnl conditionally: | ||
1291 | dnl #if __ANDROID_API__ >= 28 | ||
1292 | dnl ... func (...) __INTRODUCED_IN(28); | ||
1293 | dnl #endif | ||
1294 | dnl Thus, when compiling with "clang -target armv7a-unknown-linux-android28", | ||
1295 | dnl the function func is declared and exists in libc. | ||
1296 | dnl Whereas when compiling with "clang -target armv7a-unknown-linux-android27", | ||
1297 | dnl the function func is not declared but exists in libc. | ||
1298 | dnl | ||
1299 | dnl This macro sets two variables: | ||
1300 | dnl - gl_cv_onwards_func_<func> to yes / no / "future OS version" | ||
1301 | dnl - ac_cv_func_<func> to yes / no / no | ||
1302 | dnl The first variable allows to distinguish all three cases. | ||
1303 | dnl The second variable is set, so that an invocation | ||
1304 | dnl gl_CHECK_FUNCS_ANDROID([func], [[#include <foo.h>]]) | ||
1305 | dnl can be used as a drop-in replacement for | ||
1306 | dnl AC_CHECK_FUNCS([func]). | ||
1307 | AC_DEFUN([gl_CHECK_FUNCS_ANDROID], | ||
1308 | [ | ||
1309 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
1310 | AC_CACHE_CHECK([for [$1]], | ||
1311 | [[gl_cv_onwards_func_][$1]], | ||
1312 | [gl_SILENT([ | ||
1313 | case "$host_os" in | ||
1314 | gl_CHECK_FUNCS_CASE_FOR_ANDROID([$1], [$2]) | ||
1315 | gl_CHECK_FUNCS_DEFAULT_CASE([$1]) | ||
1316 | esac | ||
1317 | ]) | ||
1318 | ]) | ||
1319 | gl_CHECK_FUNCS_SET_RESULTS([$1]) | ||
1320 | ]) | ||
1321 | |||
1322 | dnl gl_CHECK_FUNCS_MACOS([func], [[#include <foo.h>]]) | ||
1323 | dnl is like AC_CHECK_FUNCS([func]), taking into account a portability problem | ||
1324 | dnl on macOS. | ||
1325 | dnl | ||
1326 | dnl When code is compiled on macOS, it is in the context of a certain minimum | ||
1327 | dnl macOS version, that can be set through the option '-mmacosx-version-min='. | ||
1328 | dnl In other words, you don't compile for a specific version of macOS. You | ||
1329 | dnl compile for all versions of macOS, onwards from the given version. | ||
1330 | dnl Thus, the question "does the OS have the function func" has three possible | ||
1331 | dnl answers: | ||
1332 | dnl - yes, in all versions starting from the given version, | ||
1333 | dnl - no, in no version, | ||
1334 | dnl - not in the given version, but in a later version of macOS. | ||
1335 | dnl | ||
1336 | dnl In detail, this works as follows: | ||
1337 | dnl If func was added to, say, macOS version 13, then the libc has the | ||
1338 | dnl symbol func always, whereas the header file <foo.h> declares func | ||
1339 | dnl conditionally with a special availability attribute: | ||
1340 | dnl ... func (...) __attribute__((availability(macos,introduced=13.0))); | ||
1341 | dnl Thus, when compiling with "clang mmacosx-version-min=13", there is no | ||
1342 | dnl warning about the use of func, and the resulting binary | ||
1343 | dnl - runs fine on macOS 13, | ||
1344 | dnl - aborts with a dyld "Symbol not found" message on macOS 12. | ||
1345 | dnl Whereas, when compiling with "clang mmacosx-version-min=12", there is a | ||
1346 | dnl warning: 'func' is only available on macOS 13.0 or newer | ||
1347 | dnl [-Wunguarded-availability-new], | ||
1348 | dnl and the resulting binary | ||
1349 | dnl - runs fine on macOS 13, | ||
1350 | dnl - crashes with a SIGSEGV (signal 11) on macOS 12. | ||
1351 | dnl | ||
1352 | dnl This macro sets two variables: | ||
1353 | dnl - gl_cv_onwards_func_<func> to yes / no / "future OS version" | ||
1354 | dnl - ac_cv_func_<func> to yes / no / no | ||
1355 | dnl The first variable allows to distinguish all three cases. | ||
1356 | dnl The second variable is set, so that an invocation | ||
1357 | dnl gl_CHECK_FUNCS_MACOS([func], [[#include <foo.h>]]) | ||
1358 | dnl can be used as a drop-in replacement for | ||
1359 | dnl AC_CHECK_FUNCS([func]). | ||
1360 | AC_DEFUN([gl_CHECK_FUNCS_MACOS], | ||
1361 | [ | ||
1362 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
1363 | AC_REQUIRE([gl_PREPARE_CHECK_FUNCS_MACOS]) | ||
1364 | AC_CACHE_CHECK([for [$1]], | ||
1365 | [[gl_cv_onwards_func_][$1]], | ||
1366 | [gl_SILENT([ | ||
1367 | case "$host_os" in | ||
1368 | gl_CHECK_FUNCS_CASE_FOR_MACOS([$1], [$2]) | ||
1369 | gl_CHECK_FUNCS_DEFAULT_CASE([$1]) | ||
1370 | esac | ||
1371 | ]) | ||
1372 | ]) | ||
1373 | gl_CHECK_FUNCS_SET_RESULTS([$1]) | ||
1374 | ]) | ||
1375 | |||
1376 | dnl gl_CHECK_FUNCS_ANDROID_MACOS([func], [[#include <foo.h>]]) | ||
1377 | dnl is like AC_CHECK_FUNCS([func]), taking into account a portability problem | ||
1378 | dnl on Android and on macOS. | ||
1379 | dnl It is the combination of gl_CHECK_FUNCS_ANDROID and gl_CHECK_FUNCS_MACOS. | ||
1380 | AC_DEFUN([gl_CHECK_FUNCS_ANDROID_MACOS], | ||
1381 | [ | ||
1382 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
1383 | AC_REQUIRE([gl_PREPARE_CHECK_FUNCS_MACOS]) | ||
1384 | AC_CACHE_CHECK([for [$1]], | ||
1385 | [[gl_cv_onwards_func_][$1]], | ||
1386 | [gl_SILENT([ | ||
1387 | case "$host_os" in | ||
1388 | gl_CHECK_FUNCS_CASE_FOR_ANDROID([$1], [$2]) | ||
1389 | gl_CHECK_FUNCS_CASE_FOR_MACOS([$1], [$2]) | ||
1390 | gl_CHECK_FUNCS_DEFAULT_CASE([$1]) | ||
1391 | esac | ||
1392 | ]) | ||
1393 | ]) | ||
1394 | gl_CHECK_FUNCS_SET_RESULTS([$1]) | ||
1395 | ]) | ||
1396 | |||
1083 | dnl Expands to some code for use in .c programs that, on native Windows, defines | 1397 | dnl Expands to some code for use in .c programs that, on native Windows, defines |
1084 | dnl the Microsoft deprecated alias function names to the underscore-prefixed | 1398 | dnl the Microsoft deprecated alias function names to the underscore-prefixed |
1085 | dnl actual function names. With this macro, these function names are available | 1399 | dnl actual function names. With this macro, these function names are available |
diff --git a/gl/m4/gnulib-comp.m4 b/gl/m4/gnulib-comp.m4 index 4764622e..83a0f727 100644 --- a/gl/m4/gnulib-comp.m4 +++ b/gl/m4/gnulib-comp.m4 | |||
@@ -1,5 +1,5 @@ | |||
1 | # DO NOT EDIT! GENERATED AUTOMATICALLY! | 1 | # DO NOT EDIT! GENERATED AUTOMATICALLY! |
2 | # Copyright (C) 2002-2023 Free Software Foundation, Inc. | 2 | # Copyright (C) 2002-2024 Free Software Foundation, Inc. |
3 | # | 3 | # |
4 | # This file is free software; you can redistribute it and/or modify | 4 | # This file is free software; you can redistribute it and/or modify |
5 | # it under the terms of the GNU General Public License as published by | 5 | # it under the terms of the GNU General Public License as published by |
@@ -43,6 +43,7 @@ AC_DEFUN([gl_EARLY], | |||
43 | AC_REQUIRE([gl_PROG_AR_RANLIB]) | 43 | AC_REQUIRE([gl_PROG_AR_RANLIB]) |
44 | 44 | ||
45 | # Code from module absolute-header: | 45 | # Code from module absolute-header: |
46 | # Code from module alignasof: | ||
46 | # Code from module alloca-opt: | 47 | # Code from module alloca-opt: |
47 | # Code from module arpa_inet: | 48 | # Code from module arpa_inet: |
48 | # Code from module assert-h: | 49 | # Code from module assert-h: |
@@ -67,6 +68,7 @@ AC_DEFUN([gl_EARLY], | |||
67 | # Code from module environ: | 68 | # Code from module environ: |
68 | # Code from module errno: | 69 | # Code from module errno: |
69 | # Code from module error: | 70 | # Code from module error: |
71 | # Code from module error-h: | ||
70 | # Code from module exitfail: | 72 | # Code from module exitfail: |
71 | # Code from module extensions: | 73 | # Code from module extensions: |
72 | # Code from module extern-inline: | 74 | # Code from module extern-inline: |
@@ -112,6 +114,11 @@ AC_DEFUN([gl_EARLY], | |||
112 | # Code from module inet_ntop: | 114 | # Code from module inet_ntop: |
113 | # Code from module intprops: | 115 | # Code from module intprops: |
114 | # Code from module inttypes-incomplete: | 116 | # Code from module inttypes-incomplete: |
117 | # Code from module iswblank: | ||
118 | # Code from module iswctype: | ||
119 | # Code from module iswdigit: | ||
120 | # Code from module iswpunct: | ||
121 | # Code from module iswxdigit: | ||
115 | # Code from module langinfo: | 122 | # Code from module langinfo: |
116 | # Code from module largefile: | 123 | # Code from module largefile: |
117 | AC_REQUIRE([AC_SYS_LARGEFILE]) | 124 | AC_REQUIRE([AC_SYS_LARGEFILE]) |
@@ -128,6 +135,7 @@ AC_DEFUN([gl_EARLY], | |||
128 | # Code from module math: | 135 | # Code from module math: |
129 | # Code from module mbrtowc: | 136 | # Code from module mbrtowc: |
130 | # Code from module mbsinit: | 137 | # Code from module mbsinit: |
138 | # Code from module mbszero: | ||
131 | # Code from module mbtowc: | 139 | # Code from module mbtowc: |
132 | # Code from module memchr: | 140 | # Code from module memchr: |
133 | # Code from module minmax: | 141 | # Code from module minmax: |
@@ -150,6 +158,7 @@ AC_DEFUN([gl_EARLY], | |||
150 | # Code from module servent: | 158 | # Code from module servent: |
151 | # Code from module setenv: | 159 | # Code from module setenv: |
152 | # Code from module setlocale-null: | 160 | # Code from module setlocale-null: |
161 | # Code from module setlocale-null-unlocked: | ||
153 | # Code from module size_max: | 162 | # Code from module size_max: |
154 | # Code from module snippet/_Noreturn: | 163 | # Code from module snippet/_Noreturn: |
155 | # Code from module snippet/arg-nonnull: | 164 | # Code from module snippet/arg-nonnull: |
@@ -163,12 +172,12 @@ AC_DEFUN([gl_EARLY], | |||
163 | # Code from module stat: | 172 | # Code from module stat: |
164 | # Code from module stat-time: | 173 | # Code from module stat-time: |
165 | # Code from module std-gnu11: | 174 | # Code from module std-gnu11: |
166 | # Code from module stdalign: | ||
167 | # Code from module stdbool: | 175 | # Code from module stdbool: |
168 | # Code from module stdckdint: | 176 | # Code from module stdckdint: |
169 | # Code from module stddef: | 177 | # Code from module stddef: |
170 | # Code from module stdint: | 178 | # Code from module stdint: |
171 | # Code from module stdio: | 179 | # Code from module stdio: |
180 | gl_STDIO_H_EARLY | ||
172 | # Code from module stdlib: | 181 | # Code from module stdlib: |
173 | # Code from module strcase: | 182 | # Code from module strcase: |
174 | # Code from module strcasestr: | 183 | # Code from module strcasestr: |
@@ -186,7 +195,7 @@ AC_DEFUN([gl_EARLY], | |||
186 | # Code from module sys_uio: | 195 | # Code from module sys_uio: |
187 | # Code from module threadlib: | 196 | # Code from module threadlib: |
188 | gl_THREADLIB_EARLY | 197 | gl_THREADLIB_EARLY |
189 | # Code from module time: | 198 | # Code from module time-h: |
190 | # Code from module time_r: | 199 | # Code from module time_r: |
191 | # Code from module timegm: | 200 | # Code from module timegm: |
192 | # Code from module unistd: | 201 | # Code from module unistd: |
@@ -199,6 +208,7 @@ AC_DEFUN([gl_EARLY], | |||
199 | # Code from module vsnprintf: | 208 | # Code from module vsnprintf: |
200 | # Code from module wchar: | 209 | # Code from module wchar: |
201 | # Code from module wcrtomb: | 210 | # Code from module wcrtomb: |
211 | # Code from module wctype: | ||
202 | # Code from module wctype-h: | 212 | # Code from module wctype-h: |
203 | # Code from module windows-mutex: | 213 | # Code from module windows-mutex: |
204 | # Code from module windows-once: | 214 | # Code from module windows-once: |
@@ -229,6 +239,7 @@ AC_DEFUN([gl_INIT], | |||
229 | gl_COMMON | 239 | gl_COMMON |
230 | gl_source_base='gl' | 240 | gl_source_base='gl' |
231 | gl_source_base_prefix= | 241 | gl_source_base_prefix= |
242 | gl_ALIGNASOF | ||
232 | gl_FUNC_ALLOCA | 243 | gl_FUNC_ALLOCA |
233 | gl_CONDITIONAL_HEADER([alloca.h]) | 244 | gl_CONDITIONAL_HEADER([alloca.h]) |
234 | AC_PROG_MKDIR_P | 245 | AC_PROG_MKDIR_P |
@@ -280,14 +291,17 @@ AC_DEFUN([gl_INIT], | |||
280 | gl_HEADER_ERRNO_H | 291 | gl_HEADER_ERRNO_H |
281 | gl_CONDITIONAL_HEADER([errno.h]) | 292 | gl_CONDITIONAL_HEADER([errno.h]) |
282 | AC_PROG_MKDIR_P | 293 | AC_PROG_MKDIR_P |
294 | AC_REQUIRE([gl_ERROR_H]) | ||
283 | gl_ERROR | 295 | gl_ERROR |
284 | gl_CONDITIONAL([GL_COND_OBJ_ERROR], [test "$ac_cv_lib_error_at_line" = no]) | 296 | gl_CONDITIONAL([GL_COND_OBJ_ERROR], [test $COMPILE_ERROR_C = 1]) |
285 | AM_COND_IF([GL_COND_OBJ_ERROR], [ | 297 | AM_COND_IF([GL_COND_OBJ_ERROR], [ |
286 | gl_PREREQ_ERROR | 298 | gl_PREREQ_ERROR |
287 | ]) | 299 | ]) |
288 | m4_ifdef([AM_XGETTEXT_OPTION], | 300 | m4_ifdef([AM_XGETTEXT_OPTION], |
289 | [AM_][XGETTEXT_OPTION([--flag=error:3:c-format]) | 301 | [AM_][XGETTEXT_OPTION([--flag=error:3:c-format]) |
290 | AM_][XGETTEXT_OPTION([--flag=error_at_line:5:c-format])]) | 302 | AM_][XGETTEXT_OPTION([--flag=error_at_line:5:c-format])]) |
303 | gl_ERROR_H | ||
304 | AC_PROG_MKDIR_P | ||
291 | AC_REQUIRE([gl_EXTERN_INLINE]) | 305 | AC_REQUIRE([gl_EXTERN_INLINE]) |
292 | gl_FUNC_FCNTL | 306 | gl_FUNC_FCNTL |
293 | gl_CONDITIONAL([GL_COND_OBJ_FCNTL], | 307 | gl_CONDITIONAL([GL_COND_OBJ_FCNTL], |
@@ -350,7 +364,7 @@ AC_DEFUN([gl_INIT], | |||
350 | gl_CONDITIONAL([GL_COND_OBJ_FSTAT], [test $REPLACE_FSTAT = 1]) | 364 | gl_CONDITIONAL([GL_COND_OBJ_FSTAT], [test $REPLACE_FSTAT = 1]) |
351 | AM_COND_IF([GL_COND_OBJ_FSTAT], [ | 365 | AM_COND_IF([GL_COND_OBJ_FSTAT], [ |
352 | case "$host_os" in | 366 | case "$host_os" in |
353 | mingw*) | 367 | mingw* | windows*) |
354 | AC_LIBOBJ([stat-w32]) | 368 | AC_LIBOBJ([stat-w32]) |
355 | ;; | 369 | ;; |
356 | esac | 370 | esac |
@@ -406,7 +420,8 @@ AC_DEFUN([gl_INIT], | |||
406 | gl_STDIO_MODULE_INDICATOR([getline]) | 420 | gl_STDIO_MODULE_INDICATOR([getline]) |
407 | AC_REQUIRE([AC_CANONICAL_HOST]) | 421 | AC_REQUIRE([AC_CANONICAL_HOST]) |
408 | gl_GETLOADAVG | 422 | gl_GETLOADAVG |
409 | gl_CONDITIONAL([GL_COND_OBJ_GETLOADAVG], [test $HAVE_GETLOADAVG = 0]) | 423 | gl_CONDITIONAL([GL_COND_OBJ_GETLOADAVG], |
424 | [test $HAVE_GETLOADAVG = 0 || test $REPLACE_GETLOADAVG = 1]) | ||
410 | AM_COND_IF([GL_COND_OBJ_GETLOADAVG], [ | 425 | AM_COND_IF([GL_COND_OBJ_GETLOADAVG], [ |
411 | gl_PREREQ_GETLOADAVG | 426 | gl_PREREQ_GETLOADAVG |
412 | ]) | 427 | ]) |
@@ -427,11 +442,20 @@ AC_DEFUN([gl_INIT], | |||
427 | ]) | 442 | ]) |
428 | gl_UNISTD_MODULE_INDICATOR([getopt-posix]) | 443 | gl_UNISTD_MODULE_INDICATOR([getopt-posix]) |
429 | gl_FUNC_GETPROGNAME | 444 | gl_FUNC_GETPROGNAME |
445 | gl_CONDITIONAL([GL_COND_OBJ_GETPROGNAME], | ||
446 | [test $HAVE_GETPROGNAME = 0 || test $REPLACE_GETPROGNAME = 1]) | ||
447 | AM_COND_IF([GL_COND_OBJ_GETPROGNAME], [ | ||
448 | gl_PREREQ_GETPROGNAME | ||
449 | ]) | ||
450 | gl_STDLIB_MODULE_INDICATOR([getprogname]) | ||
430 | AC_SUBST([LIBINTL]) | 451 | AC_SUBST([LIBINTL]) |
431 | AC_SUBST([LTLIBINTL]) | 452 | AC_SUBST([LTLIBINTL]) |
432 | AC_PROG_MKDIR_P | 453 | AC_PROG_MKDIR_P |
433 | AC_REQUIRE([gl_FUNC_SETLOCALE_NULL]) | 454 | AC_REQUIRE([gl_FUNC_SETLOCALE_NULL]) |
434 | LIB_HARD_LOCALE="$LIB_SETLOCALE_NULL" | 455 | HARD_LOCALE_LIB="$SETLOCALE_NULL_LIB" |
456 | AC_SUBST([HARD_LOCALE_LIB]) | ||
457 | dnl For backward compatibility. | ||
458 | LIB_HARD_LOCALE="$HARD_LOCALE_LIB" | ||
435 | AC_SUBST([LIB_HARD_LOCALE]) | 459 | AC_SUBST([LIB_HARD_LOCALE]) |
436 | gl_HOSTENT | 460 | gl_HOSTENT |
437 | gl_IDPRIV | 461 | gl_IDPRIV |
@@ -445,6 +469,26 @@ AC_DEFUN([gl_INIT], | |||
445 | gl_INTTYPES_INCOMPLETE | 469 | gl_INTTYPES_INCOMPLETE |
446 | gl_INTTYPES_H_REQUIRE_DEFAULTS | 470 | gl_INTTYPES_H_REQUIRE_DEFAULTS |
447 | AC_PROG_MKDIR_P | 471 | AC_PROG_MKDIR_P |
472 | gl_FUNC_ISWBLANK | ||
473 | gl_CONDITIONAL([GL_COND_OBJ_ISWBLANK], | ||
474 | [! { test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; } && { test $HAVE_ISWBLANK = 0 || test $REPLACE_ISWBLANK = 1; }]) | ||
475 | gl_WCTYPE_MODULE_INDICATOR([iswblank]) | ||
476 | gl_FUNC_ISWCTYPE | ||
477 | gl_CONDITIONAL([GL_COND_OBJ_ISWCTYPE], | ||
478 | [test $HAVE_WCTYPE_T = 0 || test $GNULIBHEADERS_OVERRIDE_WINT_T = 1 || test $REPLACE_WCTYPE = 1]) | ||
479 | gl_WCTYPE_MODULE_INDICATOR([iswctype]) | ||
480 | gl_FUNC_ISWDIGIT | ||
481 | gl_CONDITIONAL([GL_COND_OBJ_ISWDIGIT], | ||
482 | [! { test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; } && test $REPLACE_ISWDIGIT = 1]) | ||
483 | gl_WCTYPE_MODULE_INDICATOR([iswdigit]) | ||
484 | gl_FUNC_ISWPUNCT | ||
485 | gl_CONDITIONAL([GL_COND_OBJ_ISWPUNCT], | ||
486 | [! { test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; } && test $REPLACE_ISWPUNCT = 1]) | ||
487 | gl_WCTYPE_MODULE_INDICATOR([iswpunct]) | ||
488 | gl_FUNC_ISWXDIGIT | ||
489 | gl_CONDITIONAL([GL_COND_OBJ_ISWXDIGIT], | ||
490 | [! { test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; } && test $REPLACE_ISWXDIGIT = 1]) | ||
491 | gl_WCTYPE_MODULE_INDICATOR([iswxdigit]) | ||
448 | gl_LANGINFO_H | 492 | gl_LANGINFO_H |
449 | gl_LANGINFO_H_REQUIRE_DEFAULTS | 493 | gl_LANGINFO_H_REQUIRE_DEFAULTS |
450 | AC_PROG_MKDIR_P | 494 | AC_PROG_MKDIR_P |
@@ -504,6 +548,10 @@ AC_DEFUN([gl_INIT], | |||
504 | gl_PREREQ_MBSINIT | 548 | gl_PREREQ_MBSINIT |
505 | ]) | 549 | ]) |
506 | gl_WCHAR_MODULE_INDICATOR([mbsinit]) | 550 | gl_WCHAR_MODULE_INDICATOR([mbsinit]) |
551 | AC_REQUIRE([AC_TYPE_MBSTATE_T]) | ||
552 | gl_MBSTATE_T_BROKEN | ||
553 | gl_MUSL_LIBC | ||
554 | gl_WCHAR_MODULE_INDICATOR([mbszero]) | ||
507 | gl_FUNC_MBTOWC | 555 | gl_FUNC_MBTOWC |
508 | gl_CONDITIONAL([GL_COND_OBJ_MBTOWC], | 556 | gl_CONDITIONAL([GL_COND_OBJ_MBTOWC], |
509 | [test $HAVE_MBTOWC = 0 || test $REPLACE_MBTOWC = 1]) | 557 | [test $HAVE_MBTOWC = 0 || test $REPLACE_MBTOWC = 1]) |
@@ -611,7 +659,7 @@ AC_DEFUN([gl_INIT], | |||
611 | gl_CONDITIONAL([GL_COND_OBJ_STAT], [test $REPLACE_STAT = 1]) | 659 | gl_CONDITIONAL([GL_COND_OBJ_STAT], [test $REPLACE_STAT = 1]) |
612 | AM_COND_IF([GL_COND_OBJ_STAT], [ | 660 | AM_COND_IF([GL_COND_OBJ_STAT], [ |
613 | case "$host_os" in | 661 | case "$host_os" in |
614 | mingw*) | 662 | mingw* | windows*) |
615 | AC_LIBOBJ([stat-w32]) | 663 | AC_LIBOBJ([stat-w32]) |
616 | ;; | 664 | ;; |
617 | esac | 665 | esac |
@@ -620,9 +668,6 @@ AC_DEFUN([gl_INIT], | |||
620 | gl_SYS_STAT_MODULE_INDICATOR([stat]) | 668 | gl_SYS_STAT_MODULE_INDICATOR([stat]) |
621 | gl_STAT_TIME | 669 | gl_STAT_TIME |
622 | gl_STAT_BIRTHTIME | 670 | gl_STAT_BIRTHTIME |
623 | gl_STDALIGN_H | ||
624 | gl_CONDITIONAL_HEADER([stdalign.h]) | ||
625 | AC_PROG_MKDIR_P | ||
626 | gl_C_BOOL | 671 | gl_C_BOOL |
627 | AC_CHECK_HEADERS_ONCE([stdckdint.h]) | 672 | AC_CHECK_HEADERS_ONCE([stdckdint.h]) |
628 | if test $ac_cv_header_stdckdint_h = yes; then | 673 | if test $ac_cv_header_stdckdint_h = yes; then |
@@ -781,21 +826,24 @@ AC_DEFUN([gl_INIT], | |||
781 | gl_PREREQ_WCRTOMB | 826 | gl_PREREQ_WCRTOMB |
782 | ]) | 827 | ]) |
783 | gl_WCHAR_MODULE_INDICATOR([wcrtomb]) | 828 | gl_WCHAR_MODULE_INDICATOR([wcrtomb]) |
829 | gl_FUNC_WCTYPE | ||
830 | gl_CONDITIONAL([GL_COND_OBJ_WCTYPE], [test $HAVE_WCTYPE = 0 || test $REPLACE_WCTYPE = 1]) | ||
831 | gl_WCTYPE_MODULE_INDICATOR([wctype]) | ||
784 | gl_WCTYPE_H | 832 | gl_WCTYPE_H |
785 | gl_WCTYPE_H_REQUIRE_DEFAULTS | 833 | gl_WCTYPE_H_REQUIRE_DEFAULTS |
786 | AC_PROG_MKDIR_P | 834 | AC_PROG_MKDIR_P |
787 | AC_REQUIRE([AC_CANONICAL_HOST]) | 835 | AC_REQUIRE([AC_CANONICAL_HOST]) |
788 | gl_CONDITIONAL([GL_COND_OBJ_WINDOWS_MUTEX], | 836 | gl_CONDITIONAL([GL_COND_OBJ_WINDOWS_MUTEX], |
789 | [case "$host_os" in mingw*) true;; *) false;; esac]) | 837 | [case "$host_os" in mingw* | windows*) true;; *) false;; esac]) |
790 | AC_REQUIRE([AC_CANONICAL_HOST]) | 838 | AC_REQUIRE([AC_CANONICAL_HOST]) |
791 | gl_CONDITIONAL([GL_COND_OBJ_WINDOWS_ONCE], | 839 | gl_CONDITIONAL([GL_COND_OBJ_WINDOWS_ONCE], |
792 | [case "$host_os" in mingw*) true;; *) false;; esac]) | 840 | [case "$host_os" in mingw* | windows*) true;; *) false;; esac]) |
793 | AC_REQUIRE([AC_CANONICAL_HOST]) | 841 | AC_REQUIRE([AC_CANONICAL_HOST]) |
794 | gl_CONDITIONAL([GL_COND_OBJ_WINDOWS_RECMUTEX], | 842 | gl_CONDITIONAL([GL_COND_OBJ_WINDOWS_RECMUTEX], |
795 | [case "$host_os" in mingw*) true;; *) false;; esac]) | 843 | [case "$host_os" in mingw* | windows*) true;; *) false;; esac]) |
796 | AC_REQUIRE([AC_CANONICAL_HOST]) | 844 | AC_REQUIRE([AC_CANONICAL_HOST]) |
797 | gl_CONDITIONAL([GL_COND_OBJ_WINDOWS_RWLOCK], | 845 | gl_CONDITIONAL([GL_COND_OBJ_WINDOWS_RWLOCK], |
798 | [case "$host_os" in mingw*) true;; *) false;; esac]) | 846 | [case "$host_os" in mingw* | windows*) true;; *) false;; esac]) |
799 | gl_XALLOC | 847 | gl_XALLOC |
800 | gl_MODULE_INDICATOR([xalloc]) | 848 | gl_MODULE_INDICATOR([xalloc]) |
801 | gl_MODULE_INDICATOR([xalloc-die]) | 849 | gl_MODULE_INDICATOR([xalloc-die]) |
@@ -1002,7 +1050,7 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
1002 | lib/dynarray.h | 1050 | lib/dynarray.h |
1003 | lib/errno.in.h | 1051 | lib/errno.in.h |
1004 | lib/error.c | 1052 | lib/error.c |
1005 | lib/error.h | 1053 | lib/error.in.h |
1006 | lib/exitfail.c | 1054 | lib/exitfail.c |
1007 | lib/exitfail.h | 1055 | lib/exitfail.h |
1008 | lib/fcntl.c | 1056 | lib/fcntl.c |
@@ -1062,6 +1110,12 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
1062 | lib/intprops-internal.h | 1110 | lib/intprops-internal.h |
1063 | lib/intprops.h | 1111 | lib/intprops.h |
1064 | lib/inttypes.in.h | 1112 | lib/inttypes.in.h |
1113 | lib/iswblank.c | ||
1114 | lib/iswctype-impl.h | ||
1115 | lib/iswctype.c | ||
1116 | lib/iswdigit.c | ||
1117 | lib/iswpunct.c | ||
1118 | lib/iswxdigit.c | ||
1065 | lib/itold.c | 1119 | lib/itold.c |
1066 | lib/langinfo.in.h | 1120 | lib/langinfo.in.h |
1067 | lib/lc-charset-dispatch.c | 1121 | lib/lc-charset-dispatch.c |
@@ -1089,6 +1143,7 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
1089 | lib/mbrtowc-impl.h | 1143 | lib/mbrtowc-impl.h |
1090 | lib/mbrtowc.c | 1144 | lib/mbrtowc.c |
1091 | lib/mbsinit.c | 1145 | lib/mbsinit.c |
1146 | lib/mbszero.c | ||
1092 | lib/mbtowc-impl.h | 1147 | lib/mbtowc-impl.h |
1093 | lib/mbtowc-lock.c | 1148 | lib/mbtowc-lock.c |
1094 | lib/mbtowc-lock.h | 1149 | lib/mbtowc-lock.h |
@@ -1124,6 +1179,7 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
1124 | lib/regexec.c | 1179 | lib/regexec.c |
1125 | lib/setenv.c | 1180 | lib/setenv.c |
1126 | lib/setlocale-lock.c | 1181 | lib/setlocale-lock.c |
1182 | lib/setlocale_null-unlocked.c | ||
1127 | lib/setlocale_null.c | 1183 | lib/setlocale_null.c |
1128 | lib/setlocale_null.h | 1184 | lib/setlocale_null.h |
1129 | lib/sha256-stream.c | 1185 | lib/sha256-stream.c |
@@ -1138,7 +1194,6 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
1138 | lib/stat-w32.c | 1194 | lib/stat-w32.c |
1139 | lib/stat-w32.h | 1195 | lib/stat-w32.h |
1140 | lib/stat.c | 1196 | lib/stat.c |
1141 | lib/stdalign.in.h | ||
1142 | lib/stdckdint.in.h | 1197 | lib/stdckdint.in.h |
1143 | lib/stddef.in.h | 1198 | lib/stddef.in.h |
1144 | lib/stdint.in.h | 1199 | lib/stdint.in.h |
@@ -1183,6 +1238,8 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
1183 | lib/wchar.in.h | 1238 | lib/wchar.in.h |
1184 | lib/wcrtomb.c | 1239 | lib/wcrtomb.c |
1185 | lib/wctype-h.c | 1240 | lib/wctype-h.c |
1241 | lib/wctype-impl.h | ||
1242 | lib/wctype.c | ||
1186 | lib/wctype.in.h | 1243 | lib/wctype.in.h |
1187 | lib/windows-initguard.h | 1244 | lib/windows-initguard.h |
1188 | lib/windows-mutex.c | 1245 | lib/windows-mutex.c |
@@ -1220,9 +1277,11 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
1220 | m4/environ.m4 | 1277 | m4/environ.m4 |
1221 | m4/errno_h.m4 | 1278 | m4/errno_h.m4 |
1222 | m4/error.m4 | 1279 | m4/error.m4 |
1280 | m4/error_h.m4 | ||
1223 | m4/exponentd.m4 | 1281 | m4/exponentd.m4 |
1224 | m4/extensions.m4 | 1282 | m4/extensions.m4 |
1225 | m4/extern-inline.m4 | 1283 | m4/extern-inline.m4 |
1284 | m4/fclose.m4 | ||
1226 | m4/fcntl-o.m4 | 1285 | m4/fcntl-o.m4 |
1227 | m4/fcntl.m4 | 1286 | m4/fcntl.m4 |
1228 | m4/fcntl_h.m4 | 1287 | m4/fcntl_h.m4 |
@@ -1257,6 +1316,11 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
1257 | m4/intmax_t.m4 | 1316 | m4/intmax_t.m4 |
1258 | m4/inttypes.m4 | 1317 | m4/inttypes.m4 |
1259 | m4/inttypes_h.m4 | 1318 | m4/inttypes_h.m4 |
1319 | m4/iswblank.m4 | ||
1320 | m4/iswctype.m4 | ||
1321 | m4/iswdigit.m4 | ||
1322 | m4/iswpunct.m4 | ||
1323 | m4/iswxdigit.m4 | ||
1260 | m4/langinfo_h.m4 | 1324 | m4/langinfo_h.m4 |
1261 | m4/largefile.m4 | 1325 | m4/largefile.m4 |
1262 | m4/limits-h.m4 | 1326 | m4/limits-h.m4 |
@@ -1284,6 +1348,7 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
1284 | m4/msvc-inval.m4 | 1348 | m4/msvc-inval.m4 |
1285 | m4/msvc-nothrow.m4 | 1349 | m4/msvc-nothrow.m4 |
1286 | m4/multiarch.m4 | 1350 | m4/multiarch.m4 |
1351 | m4/musl.m4 | ||
1287 | m4/netdb_h.m4 | 1352 | m4/netdb_h.m4 |
1288 | m4/netinet_in_h.m4 | 1353 | m4/netinet_in_h.m4 |
1289 | m4/nl_langinfo.m4 | 1354 | m4/nl_langinfo.m4 |
@@ -1346,6 +1411,7 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
1346 | m4/wchar_h.m4 | 1411 | m4/wchar_h.m4 |
1347 | m4/wchar_t.m4 | 1412 | m4/wchar_t.m4 |
1348 | m4/wcrtomb.m4 | 1413 | m4/wcrtomb.m4 |
1414 | m4/wctype.m4 | ||
1349 | m4/wctype_h.m4 | 1415 | m4/wctype_h.m4 |
1350 | m4/wint_t.m4 | 1416 | m4/wint_t.m4 |
1351 | m4/xalloc.m4 | 1417 | m4/xalloc.m4 |
diff --git a/gl/m4/gnulib-tool.m4 b/gl/m4/gnulib-tool.m4 index a9dd569b..ef45f51f 100644 --- a/gl/m4/gnulib-tool.m4 +++ b/gl/m4/gnulib-tool.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # gnulib-tool.m4 serial 4 | 1 | # gnulib-tool.m4 |
2 | dnl Copyright (C) 2004-2005, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 4 |
3 | dnl Copyright (C) 2004-2005, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/hostent.m4 b/gl/m4/hostent.m4 index 3b2cc2b2..36dc636e 100644 --- a/gl/m4/hostent.m4 +++ b/gl/m4/hostent.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # hostent.m4 serial 4 | 1 | # hostent.m4 |
2 | dnl Copyright (C) 2008, 2010-2023 Free Software Foundation, Inc. | 2 | # serial 5 |
3 | dnl Copyright (C) 2008, 2010-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -26,7 +27,7 @@ AC_DEFUN([gl_HOSTENT], | |||
26 | AC_CACHE_CHECK([for gethostbyname in winsock2.h and -lws2_32], | 27 | AC_CACHE_CHECK([for gethostbyname in winsock2.h and -lws2_32], |
27 | [gl_cv_w32_gethostbyname], | 28 | [gl_cv_w32_gethostbyname], |
28 | [gl_cv_w32_gethostbyname=no | 29 | [gl_cv_w32_gethostbyname=no |
29 | gl_save_LIBS="$LIBS" | 30 | gl_saved_LIBS="$LIBS" |
30 | LIBS="$LIBS -lws2_32" | 31 | LIBS="$LIBS -lws2_32" |
31 | AC_LINK_IFELSE( | 32 | AC_LINK_IFELSE( |
32 | [AC_LANG_PROGRAM( | 33 | [AC_LANG_PROGRAM( |
@@ -38,7 +39,7 @@ AC_DEFUN([gl_HOSTENT], | |||
38 | ]], | 39 | ]], |
39 | [[gethostbyname(NULL);]])], | 40 | [[gethostbyname(NULL);]])], |
40 | [gl_cv_w32_gethostbyname=yes]) | 41 | [gl_cv_w32_gethostbyname=yes]) |
41 | LIBS="$gl_save_LIBS" | 42 | LIBS="$gl_saved_LIBS" |
42 | ]) | 43 | ]) |
43 | if test "$gl_cv_w32_gethostbyname" = "yes"; then | 44 | if test "$gl_cv_w32_gethostbyname" = "yes"; then |
44 | HOSTENT_LIB="-lws2_32" | 45 | HOSTENT_LIB="-lws2_32" |
diff --git a/gl/m4/idpriv.m4 b/gl/m4/idpriv.m4 index fc3dd17d..53693527 100644 --- a/gl/m4/idpriv.m4 +++ b/gl/m4/idpriv.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # idpriv.m4 serial 1 | 1 | # idpriv.m4 |
2 | dnl Copyright (C) 2009-2023 Free Software Foundation, Inc. | 2 | # serial 1 |
3 | dnl Copyright (C) 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/include_next.m4 b/gl/m4/include_next.m4 index 9f19215e..03e85251 100644 --- a/gl/m4/include_next.m4 +++ b/gl/m4/include_next.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # include_next.m4 serial 26 | 1 | # include_next.m4 |
2 | dnl Copyright (C) 2006-2023 Free Software Foundation, Inc. | 2 | # serial 27 |
3 | dnl Copyright (C) 2006-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -74,17 +75,17 @@ EOF | |||
74 | #endif | 75 | #endif |
75 | #define DEFINED_IN_CONFTESTD2 | 76 | #define DEFINED_IN_CONFTESTD2 |
76 | EOF | 77 | EOF |
77 | gl_save_CPPFLAGS="$CPPFLAGS" | 78 | gl_saved_CPPFLAGS="$CPPFLAGS" |
78 | CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2" | 79 | CPPFLAGS="$gl_saved_CPPFLAGS -Iconftestd1b -Iconftestd2" |
79 | dnl We intentionally avoid using AC_LANG_SOURCE here. | 80 | dnl We intentionally avoid using AC_LANG_SOURCE here. |
80 | AC_COMPILE_IFELSE([AC_LANG_DEFINES_PROVIDED[#include <conftest.h>]], | 81 | AC_COMPILE_IFELSE([AC_LANG_DEFINES_PROVIDED[#include <conftest.h>]], |
81 | [gl_cv_have_include_next=yes], | 82 | [gl_cv_have_include_next=yes], |
82 | [CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2" | 83 | [CPPFLAGS="$gl_saved_CPPFLAGS -Iconftestd1a -Iconftestd2" |
83 | AC_COMPILE_IFELSE([AC_LANG_DEFINES_PROVIDED[#include <conftest.h>]], | 84 | AC_COMPILE_IFELSE([AC_LANG_DEFINES_PROVIDED[#include <conftest.h>]], |
84 | [gl_cv_have_include_next=buggy], | 85 | [gl_cv_have_include_next=buggy], |
85 | [gl_cv_have_include_next=no]) | 86 | [gl_cv_have_include_next=no]) |
86 | ]) | 87 | ]) |
87 | CPPFLAGS="$gl_save_CPPFLAGS" | 88 | CPPFLAGS="$gl_saved_CPPFLAGS" |
88 | rm -rf conftestd1a conftestd1b conftestd2 | 89 | rm -rf conftestd1a conftestd1b conftestd2 |
89 | ]) | 90 | ]) |
90 | PRAGMA_SYSTEM_HEADER= | 91 | PRAGMA_SYSTEM_HEADER= |
diff --git a/gl/m4/inet_ntop.m4 b/gl/m4/inet_ntop.m4 index 48822d69..168e17e0 100644 --- a/gl/m4/inet_ntop.m4 +++ b/gl/m4/inet_ntop.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # inet_ntop.m4 serial 21 | 1 | # inet_ntop.m4 |
2 | dnl Copyright (C) 2005-2006, 2008-2023 Free Software Foundation, Inc. | 2 | # serial 22 |
3 | dnl Copyright (C) 2005-2006, 2008-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -36,14 +37,14 @@ AC_DEFUN([gl_FUNC_INET_NTOP], | |||
36 | HAVE_DECL_INET_NTOP=0 | 37 | HAVE_DECL_INET_NTOP=0 |
37 | fi | 38 | fi |
38 | else | 39 | else |
39 | gl_save_LIBS=$LIBS | 40 | gl_saved_LIBS=$LIBS |
40 | AC_SEARCH_LIBS([inet_ntop], [nsl resolv network], [], | 41 | AC_SEARCH_LIBS([inet_ntop], [nsl resolv network], [], |
41 | [AC_CHECK_FUNCS([inet_ntop]) | 42 | [AC_CHECK_FUNCS([inet_ntop]) |
42 | if test $ac_cv_func_inet_ntop = no; then | 43 | if test $ac_cv_func_inet_ntop = no; then |
43 | HAVE_INET_NTOP=0 | 44 | HAVE_INET_NTOP=0 |
44 | fi | 45 | fi |
45 | ]) | 46 | ]) |
46 | LIBS=$gl_save_LIBS | 47 | LIBS=$gl_saved_LIBS |
47 | 48 | ||
48 | if test "$ac_cv_search_inet_ntop" != "no" \ | 49 | if test "$ac_cv_search_inet_ntop" != "no" \ |
49 | && test "$ac_cv_search_inet_ntop" != "none required"; then | 50 | && test "$ac_cv_search_inet_ntop" != "none required"; then |
diff --git a/gl/m4/intmax_t.m4 b/gl/m4/intmax_t.m4 index ef32e1b9..72858ea8 100644 --- a/gl/m4/intmax_t.m4 +++ b/gl/m4/intmax_t.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # intmax_t.m4 serial 9 | 1 | # intmax_t.m4 |
2 | dnl Copyright (C) 1997-2004, 2006-2007, 2009-2023 Free Software Foundation, | 2 | # serial 9 |
3 | dnl Copyright (C) 1997-2004, 2006-2007, 2009-2024 Free Software Foundation, | ||
3 | dnl Inc. | 4 | dnl Inc. |
4 | dnl This file is free software; the Free Software Foundation | 5 | dnl This file is free software; the Free Software Foundation |
5 | dnl gives unlimited permission to copy and/or distribute it, | 6 | dnl gives unlimited permission to copy and/or distribute it, |
diff --git a/gl/m4/inttypes.m4 b/gl/m4/inttypes.m4 index bf2eab2b..c43cd162 100644 --- a/gl/m4/inttypes.m4 +++ b/gl/m4/inttypes.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # inttypes.m4 serial 36 | 1 | # inttypes.m4 |
2 | dnl Copyright (C) 2006-2023 Free Software Foundation, Inc. | 2 | # serial 37 |
3 | dnl Copyright (C) 2006-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -170,6 +171,10 @@ AC_DEFUN([gl_INTTYPES_H_DEFAULTS], | |||
170 | HAVE_DECL_STRTOIMAX=1; AC_SUBST([HAVE_DECL_STRTOIMAX]) | 171 | HAVE_DECL_STRTOIMAX=1; AC_SUBST([HAVE_DECL_STRTOIMAX]) |
171 | HAVE_DECL_STRTOUMAX=1; AC_SUBST([HAVE_DECL_STRTOUMAX]) | 172 | HAVE_DECL_STRTOUMAX=1; AC_SUBST([HAVE_DECL_STRTOUMAX]) |
172 | HAVE_IMAXDIV_T=1; AC_SUBST([HAVE_IMAXDIV_T]) | 173 | HAVE_IMAXDIV_T=1; AC_SUBST([HAVE_IMAXDIV_T]) |
174 | HAVE_IMAXABS=1; AC_SUBST([HAVE_IMAXABS]) | ||
175 | HAVE_IMAXDIV=1; AC_SUBST([HAVE_IMAXDIV]) | ||
176 | REPLACE_IMAXABS=0; AC_SUBST([REPLACE_IMAXABS]) | ||
177 | REPLACE_IMAXDIV=0; AC_SUBST([REPLACE_IMAXDIV]) | ||
173 | REPLACE_STRTOIMAX=0; AC_SUBST([REPLACE_STRTOIMAX]) | 178 | REPLACE_STRTOIMAX=0; AC_SUBST([REPLACE_STRTOIMAX]) |
174 | REPLACE_STRTOUMAX=0; AC_SUBST([REPLACE_STRTOUMAX]) | 179 | REPLACE_STRTOUMAX=0; AC_SUBST([REPLACE_STRTOUMAX]) |
175 | INT32_MAX_LT_INTMAX_MAX=1; AC_SUBST([INT32_MAX_LT_INTMAX_MAX]) | 180 | INT32_MAX_LT_INTMAX_MAX=1; AC_SUBST([INT32_MAX_LT_INTMAX_MAX]) |
diff --git a/gl/m4/inttypes_h.m4 b/gl/m4/inttypes_h.m4 index 68c60e9d..3b9da5b0 100644 --- a/gl/m4/inttypes_h.m4 +++ b/gl/m4/inttypes_h.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # inttypes_h.m4 serial 10 | 1 | # inttypes_h.m4 |
2 | dnl Copyright (C) 1997-2004, 2006, 2008-2023 Free Software Foundation, Inc. | 2 | # serial 10 |
3 | dnl Copyright (C) 1997-2004, 2006, 2008-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/iswblank.m4 b/gl/m4/iswblank.m4 new file mode 100644 index 00000000..4dc12d9a --- /dev/null +++ b/gl/m4/iswblank.m4 | |||
@@ -0,0 +1,39 @@ | |||
1 | # iswblank.m4 | ||
2 | # serial 7 | ||
3 | dnl Copyright (C) 2011-2024 Free Software Foundation, Inc. | ||
4 | dnl This file is free software; the Free Software Foundation | ||
5 | dnl gives unlimited permission to copy and/or distribute it, | ||
6 | dnl with or without modifications, as long as this notice is preserved. | ||
7 | |||
8 | AC_DEFUN([gl_FUNC_ISWBLANK], | ||
9 | [ | ||
10 | AC_REQUIRE([gl_WCTYPE_H_DEFAULTS]) | ||
11 | AC_REQUIRE([gl_WCTYPE_H]) | ||
12 | dnl Persuade glibc <wctype.h> to declare iswblank(). | ||
13 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | ||
14 | gl_CHECK_FUNCS_ANDROID([iswblank], [[#include <wctype.h>]]) | ||
15 | AC_CHECK_DECLS([iswblank], , , [[ | ||
16 | #include <wchar.h> | ||
17 | #include <wctype.h> | ||
18 | ]]) | ||
19 | if test $ac_cv_func_iswblank = no; then | ||
20 | HAVE_ISWBLANK=0 | ||
21 | if test $ac_cv_have_decl_iswblank = yes \ | ||
22 | || case "$gl_cv_onwards_func_iswblank" in \ | ||
23 | future*) true ;; \ | ||
24 | *) false ;; \ | ||
25 | esac; then | ||
26 | REPLACE_ISWBLANK=1 | ||
27 | fi | ||
28 | fi | ||
29 | if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then | ||
30 | dnl Redefine all of iswcntrl, ..., towupper in <wctype.h>. | ||
31 | : | ||
32 | else | ||
33 | if test $HAVE_ISWBLANK = 0 || test $REPLACE_ISWBLANK = 1; then | ||
34 | dnl Redefine only iswblank. | ||
35 | : | ||
36 | fi | ||
37 | fi | ||
38 | |||
39 | ]) | ||
diff --git a/gl/m4/iswctype.m4 b/gl/m4/iswctype.m4 new file mode 100644 index 00000000..16031be4 --- /dev/null +++ b/gl/m4/iswctype.m4 | |||
@@ -0,0 +1,14 @@ | |||
1 | # iswctype.m4 | ||
2 | # serial 3 | ||
3 | dnl Copyright (C) 2011-2024 Free Software Foundation, Inc. | ||
4 | dnl This file is free software; the Free Software Foundation | ||
5 | dnl gives unlimited permission to copy and/or distribute it, | ||
6 | dnl with or without modifications, as long as this notice is preserved. | ||
7 | |||
8 | AC_DEFUN([gl_FUNC_ISWCTYPE], | ||
9 | [ | ||
10 | AC_REQUIRE([gl_WCTYPE_H_DEFAULTS]) | ||
11 | AC_REQUIRE([gl_WCTYPE_H]) | ||
12 | dnl Determine REPLACE_WCTYPE. | ||
13 | AC_REQUIRE([gl_FUNC_WCTYPE]) | ||
14 | ]) | ||
diff --git a/gl/m4/iswdigit.m4 b/gl/m4/iswdigit.m4 new file mode 100644 index 00000000..999acd28 --- /dev/null +++ b/gl/m4/iswdigit.m4 | |||
@@ -0,0 +1,121 @@ | |||
1 | # iswdigit.m4 | ||
2 | # serial 7 | ||
3 | dnl Copyright (C) 2020-2024 Free Software Foundation, Inc. | ||
4 | dnl This file is free software; the Free Software Foundation | ||
5 | dnl gives unlimited permission to copy and/or distribute it, | ||
6 | dnl with or without modifications, as long as this notice is preserved. | ||
7 | |||
8 | AC_DEFUN([gl_FUNC_ISWDIGIT], | ||
9 | [ | ||
10 | AC_REQUIRE([gl_WCTYPE_H_DEFAULTS]) | ||
11 | AC_REQUIRE([gl_WCTYPE_H]) | ||
12 | AC_REQUIRE([gt_LOCALE_FR]) | ||
13 | AC_REQUIRE([gt_LOCALE_JA]) | ||
14 | AC_REQUIRE([gt_LOCALE_FR_UTF8]) | ||
15 | AC_REQUIRE([gt_LOCALE_ZH_CN]) | ||
16 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
17 | |||
18 | if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then | ||
19 | dnl <wctype.h> redefines iswdigit already. | ||
20 | REPLACE_ISWDIGIT="$REPLACE_ISWCNTRL" | ||
21 | else | ||
22 | AC_CACHE_CHECK([whether iswdigit is ISO C compliant], | ||
23 | [gl_cv_func_iswdigit_works], | ||
24 | [ | ||
25 | dnl Initial guess, used when cross-compiling or when no suitable locale | ||
26 | dnl is present. | ||
27 | changequote(,)dnl | ||
28 | case "$host_os" in | ||
29 | # Guess no on FreeBSD, NetBSD, Solaris, native Windows. | ||
30 | freebsd* | dragonfly* | netbsd* | solaris* | mingw* | windows*) | ||
31 | gl_cv_func_iswdigit_works="guessing no" ;; | ||
32 | # Guess yes otherwise. | ||
33 | *) gl_cv_func_iswdigit_works="guessing yes" ;; | ||
34 | esac | ||
35 | changequote([,])dnl | ||
36 | if test $LOCALE_FR != none || test $LOCALE_JA != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_ZH_CN != none; then | ||
37 | AC_RUN_IFELSE( | ||
38 | [AC_LANG_SOURCE([[ | ||
39 | #include <locale.h> | ||
40 | #include <stdlib.h> | ||
41 | #include <string.h> | ||
42 | #include <wchar.h> | ||
43 | #include <wctype.h> | ||
44 | |||
45 | /* Returns the value of iswdigit for the multibyte character s[0..n-1]. */ | ||
46 | static int | ||
47 | for_character (const char *s, size_t n) | ||
48 | { | ||
49 | mbstate_t state; | ||
50 | wchar_t wc; | ||
51 | size_t ret; | ||
52 | |||
53 | memset (&state, '\0', sizeof (mbstate_t)); | ||
54 | wc = (wchar_t) 0xBADFACE; | ||
55 | ret = mbrtowc (&wc, s, n, &state); | ||
56 | if (ret != n) | ||
57 | abort (); | ||
58 | |||
59 | return iswdigit (wc); | ||
60 | } | ||
61 | |||
62 | int | ||
63 | main (int argc, char *argv[]) | ||
64 | { | ||
65 | int is; | ||
66 | int result = 0; | ||
67 | |||
68 | if (strcmp ("$LOCALE_FR", "none") != 0 | ||
69 | && setlocale (LC_ALL, "$LOCALE_FR") != NULL) | ||
70 | { | ||
71 | /* This fails on mingw, MSVC 14. */ | ||
72 | /* U+00B2 SUPERSCRIPT TWO */ | ||
73 | is = for_character ("\262", 1); | ||
74 | if (!(is == 0)) | ||
75 | result |= 1; | ||
76 | } | ||
77 | if (strcmp ("$LOCALE_JA", "none") != 0 | ||
78 | && setlocale (LC_ALL, "$LOCALE_JA") != NULL) | ||
79 | { | ||
80 | /* This fails on NetBSD 10.0. */ | ||
81 | /* U+FF11 FULLWIDTH DIGIT ONE */ | ||
82 | is = for_character ("\243\261", 2); | ||
83 | if (!(is == 0)) | ||
84 | result |= 2; | ||
85 | } | ||
86 | if (strcmp ("$LOCALE_FR_UTF8", "none") != 0 | ||
87 | && setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) | ||
88 | { | ||
89 | /* This fails on FreeBSD 13.0, NetBSD 10.0, MSVC 14. */ | ||
90 | /* U+0663 ARABIC-INDIC DIGIT THREE */ | ||
91 | is = for_character ("\331\243", 2); | ||
92 | if (!(is == 0)) | ||
93 | result |= 4; | ||
94 | /* This fails on FreeBSD 13.0, NetBSD 10.0, MSVC 14. */ | ||
95 | /* U+FF11 FULLWIDTH DIGIT ONE */ | ||
96 | is = for_character ("\357\274\221", 3); | ||
97 | if (!(is == 0)) | ||
98 | result |= 8; | ||
99 | } | ||
100 | if (strcmp ("$LOCALE_ZH_CN", "none") != 0 | ||
101 | && setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) | ||
102 | { | ||
103 | /* This fails on NetBSD 10.0, Solaris 10, Solaris 11.4. */ | ||
104 | /* U+FF11 FULLWIDTH DIGIT ONE */ | ||
105 | is = for_character ("\243\261", 2); | ||
106 | if (!(is == 0)) | ||
107 | result |= 16; | ||
108 | } | ||
109 | return result; | ||
110 | }]])], | ||
111 | [gl_cv_func_iswdigit_works=yes], | ||
112 | [gl_cv_func_iswdigit_works=no], | ||
113 | [:]) | ||
114 | fi | ||
115 | ]) | ||
116 | case "$gl_cv_func_iswdigit_works" in | ||
117 | *yes) ;; | ||
118 | *) REPLACE_ISWDIGIT=1 ;; | ||
119 | esac | ||
120 | fi | ||
121 | ]) | ||
diff --git a/gl/m4/iswpunct.m4 b/gl/m4/iswpunct.m4 new file mode 100644 index 00000000..1edf58aa --- /dev/null +++ b/gl/m4/iswpunct.m4 | |||
@@ -0,0 +1,49 @@ | |||
1 | # iswpunct.m4 | ||
2 | # serial 2 | ||
3 | dnl Copyright (C) 2023-2024 Free Software Foundation, Inc. | ||
4 | dnl This file is free software; the Free Software Foundation | ||
5 | dnl gives unlimited permission to copy and/or distribute it, | ||
6 | dnl with or without modifications, as long as this notice is preserved. | ||
7 | |||
8 | AC_DEFUN([gl_FUNC_ISWPUNCT], | ||
9 | [ | ||
10 | AC_REQUIRE([gl_WCTYPE_H_DEFAULTS]) | ||
11 | AC_REQUIRE([gl_WCTYPE_H]) | ||
12 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
13 | |||
14 | if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then | ||
15 | dnl <wctype.h> redefines iswpunct already. | ||
16 | REPLACE_ISWPUNCT="$REPLACE_ISWCNTRL" | ||
17 | else | ||
18 | AC_CACHE_CHECK([whether iswpunct is consistent with ispunct], | ||
19 | [gl_cv_func_iswpunct_works], | ||
20 | [AC_RUN_IFELSE( | ||
21 | [AC_LANG_SOURCE([[ | ||
22 | #include <ctype.h> | ||
23 | #include <wchar.h> | ||
24 | #include <wctype.h> | ||
25 | int | ||
26 | main (int argc, char *argv[]) | ||
27 | { | ||
28 | int result = 0; | ||
29 | /* This fails on Android 11. */ | ||
30 | if ((! iswpunct ('\`')) != (! ispunct ('\`'))) | ||
31 | result |= 1; | ||
32 | return result; | ||
33 | }]])], | ||
34 | [gl_cv_func_iswpunct_works=yes], | ||
35 | [gl_cv_func_iswpunct_works=no], | ||
36 | [case "$host_os" in | ||
37 | # Guess no on Android. | ||
38 | android*) gl_cv_func_iswpunct_works="guessing no" ;; | ||
39 | # Guess yes otherwise. | ||
40 | *) gl_cv_func_iswpunct_works="guessing yes" ;; | ||
41 | esac | ||
42 | ]) | ||
43 | ]) | ||
44 | case "$gl_cv_func_iswpunct_works" in | ||
45 | *yes) ;; | ||
46 | *) REPLACE_ISWPUNCT=1 ;; | ||
47 | esac | ||
48 | fi | ||
49 | ]) | ||
diff --git a/gl/m4/iswxdigit.m4 b/gl/m4/iswxdigit.m4 new file mode 100644 index 00000000..6085bf6b --- /dev/null +++ b/gl/m4/iswxdigit.m4 | |||
@@ -0,0 +1,111 @@ | |||
1 | # iswxdigit.m4 | ||
2 | # serial 7 | ||
3 | dnl Copyright (C) 2020-2024 Free Software Foundation, Inc. | ||
4 | dnl This file is free software; the Free Software Foundation | ||
5 | dnl gives unlimited permission to copy and/or distribute it, | ||
6 | dnl with or without modifications, as long as this notice is preserved. | ||
7 | |||
8 | AC_DEFUN([gl_FUNC_ISWXDIGIT], | ||
9 | [ | ||
10 | AC_REQUIRE([gl_WCTYPE_H_DEFAULTS]) | ||
11 | AC_REQUIRE([gl_WCTYPE_H]) | ||
12 | AC_REQUIRE([gt_LOCALE_JA]) | ||
13 | AC_REQUIRE([gt_LOCALE_FR_UTF8]) | ||
14 | AC_REQUIRE([gt_LOCALE_ZH_CN]) | ||
15 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
16 | |||
17 | if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then | ||
18 | dnl <wctype.h> redefines iswxdigit already. | ||
19 | REPLACE_ISWXDIGIT="$REPLACE_ISWCNTRL" | ||
20 | else | ||
21 | AC_CACHE_CHECK([whether iswxdigit is ISO C compliant], | ||
22 | [gl_cv_func_iswxdigit_works], | ||
23 | [ | ||
24 | dnl Initial guess, used when cross-compiling or when no suitable locale | ||
25 | dnl is present. | ||
26 | changequote(,)dnl | ||
27 | case "$host_os" in | ||
28 | # Guess no on FreeBSD, NetBSD, Solaris, native Windows. | ||
29 | freebsd* | dragonfly* | netbsd* | solaris* | mingw* | windows*) | ||
30 | gl_cv_func_iswxdigit_works="guessing no" ;; | ||
31 | # Guess yes otherwise. | ||
32 | *) gl_cv_func_iswxdigit_works="guessing yes" ;; | ||
33 | esac | ||
34 | changequote([,])dnl | ||
35 | if test $LOCALE_JA != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_ZH_CN != none; then | ||
36 | AC_RUN_IFELSE( | ||
37 | [AC_LANG_SOURCE([[ | ||
38 | #include <locale.h> | ||
39 | #include <stdlib.h> | ||
40 | #include <string.h> | ||
41 | #include <wchar.h> | ||
42 | #include <wctype.h> | ||
43 | |||
44 | /* Returns the value of iswxdigit for the multibyte character s[0..n-1]. */ | ||
45 | static int | ||
46 | for_character (const char *s, size_t n) | ||
47 | { | ||
48 | mbstate_t state; | ||
49 | wchar_t wc; | ||
50 | size_t ret; | ||
51 | |||
52 | memset (&state, '\0', sizeof (mbstate_t)); | ||
53 | wc = (wchar_t) 0xBADFACE; | ||
54 | ret = mbrtowc (&wc, s, n, &state); | ||
55 | if (ret != n) | ||
56 | abort (); | ||
57 | |||
58 | return iswxdigit (wc); | ||
59 | } | ||
60 | |||
61 | int | ||
62 | main (int argc, char *argv[]) | ||
63 | { | ||
64 | int is; | ||
65 | int result = 0; | ||
66 | |||
67 | if (strcmp ("$LOCALE_JA", "none") != 0 | ||
68 | && setlocale (LC_ALL, "$LOCALE_JA") != NULL) | ||
69 | { | ||
70 | /* This fails on NetBSD 10.0. */ | ||
71 | /* U+FF21 FULLWIDTH LATIN CAPITAL LETTER A */ | ||
72 | is = for_character ("\243\301", 2); | ||
73 | if (!(is == 0)) | ||
74 | result |= 1; | ||
75 | } | ||
76 | if (strcmp ("$LOCALE_FR_UTF8", "none") != 0 | ||
77 | && setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) | ||
78 | { | ||
79 | /* This fails on FreeBSD 13.0. */ | ||
80 | /* U+0663 ARABIC-INDIC DIGIT THREE */ | ||
81 | is = for_character ("\331\243", 2); | ||
82 | if (!(is == 0)) | ||
83 | result |= 2; | ||
84 | /* This fails on NetBSD 10.0, MSVC 14. */ | ||
85 | /* U+FF21 FULLWIDTH LATIN CAPITAL LETTER A */ | ||
86 | is = for_character ("\357\274\241", 3); | ||
87 | if (!(is == 0)) | ||
88 | result |= 4; | ||
89 | } | ||
90 | if (strcmp ("$LOCALE_ZH_CN", "none") != 0 | ||
91 | && setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) | ||
92 | { | ||
93 | /* This fails on Solaris 10, Solaris 11.4. */ | ||
94 | /* U+FF11 FULLWIDTH DIGIT ONE */ | ||
95 | is = for_character ("\243\261", 2); | ||
96 | if (!(is == 0)) | ||
97 | result |= 8; | ||
98 | } | ||
99 | return result; | ||
100 | }]])], | ||
101 | [gl_cv_func_iswxdigit_works=yes], | ||
102 | [gl_cv_func_iswxdigit_works=no], | ||
103 | [:]) | ||
104 | fi | ||
105 | ]) | ||
106 | case "$gl_cv_func_iswxdigit_works" in | ||
107 | *yes) ;; | ||
108 | *) REPLACE_ISWXDIGIT=1 ;; | ||
109 | esac | ||
110 | fi | ||
111 | ]) | ||
diff --git a/gl/m4/langinfo_h.m4 b/gl/m4/langinfo_h.m4 index b17a526a..5eee8a71 100644 --- a/gl/m4/langinfo_h.m4 +++ b/gl/m4/langinfo_h.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # langinfo_h.m4 serial 12 | 1 | # langinfo_h.m4 |
2 | dnl Copyright (C) 2009-2023 Free Software Foundation, Inc. | 2 | # serial 12 |
3 | dnl Copyright (C) 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/largefile.m4 b/gl/m4/largefile.m4 index 7fb81b86..2f824089 100644 --- a/gl/m4/largefile.m4 +++ b/gl/m4/largefile.m4 | |||
@@ -1,16 +1,18 @@ | |||
1 | # largefile.m4 | ||
2 | # serial 1 | ||
3 | dnl Copyright 1992-1996, 1998-2024 Free Software Foundation, Inc. | ||
4 | dnl This file is free software; the Free Software Foundation | ||
5 | dnl gives unlimited permission to copy and/or distribute it, | ||
6 | dnl with or without modifications, as long as this notice is preserved. | ||
7 | |||
1 | # Enable large files on systems where this is not the default. | 8 | # Enable large files on systems where this is not the default. |
2 | # Enable support for files on Linux file systems with 64-bit inode numbers. | 9 | # Enable support for files on Linux file systems with 64-bit inode numbers. |
3 | 10 | ||
4 | # Copyright 1992-1996, 1998-2023 Free Software Foundation, Inc. | ||
5 | # This file is free software; the Free Software Foundation | ||
6 | # gives unlimited permission to copy and/or distribute it, | ||
7 | # with or without modifications, as long as this notice is preserved. | ||
8 | |||
9 | # The following macro works around a problem in Autoconf's AC_FUNC_FSEEKO: | 11 | # The following macro works around a problem in Autoconf's AC_FUNC_FSEEKO: |
10 | # It does not set _LARGEFILE_SOURCE=1 on HP-UX/ia64 32-bit, although this | 12 | # It does not set _LARGEFILE_SOURCE=1 on HP-UX/ia64 32-bit, although this |
11 | # setting of _LARGEFILE_SOURCE is needed so that <stdio.h> declares fseeko | 13 | # setting of _LARGEFILE_SOURCE is needed so that <stdio.h> declares fseeko |
12 | # and ftello in C++ mode as well. | 14 | # and ftello in C++ mode as well. |
13 | # Fixed in Autoconf 2.72, which has AC_SYS_YEAR2038. | 15 | # This problem occurs in Autoconf 2.71 and earlier, which lack AC_SYS_YEAR2038. |
14 | AC_DEFUN([gl_SET_LARGEFILE_SOURCE], | 16 | AC_DEFUN([gl_SET_LARGEFILE_SOURCE], |
15 | m4_ifndef([AC_SYS_YEAR2038], [[ | 17 | m4_ifndef([AC_SYS_YEAR2038], [[ |
16 | AC_REQUIRE([AC_CANONICAL_HOST]) | 18 | AC_REQUIRE([AC_CANONICAL_HOST]) |
@@ -24,29 +26,20 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE], | |||
24 | ]]) | 26 | ]]) |
25 | ) | 27 | ) |
26 | 28 | ||
27 | # Work around a problem in autoconf <= 2.69: | 29 | dnl Remove AC_SYS_YEAR2038_RECOMMENDED if unpatched Autoconf 2.72 or earlier. |
28 | # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5, | 30 | dnl Autoconf 2.72 still uses -n32, which is not a C preprocessor option, |
29 | # or configures them incorrectly in some cases. | 31 | dnl and which was useful only on IRIX which is no longer supported. |
30 | m4_version_prereq([2.70], [], [ | 32 | dnl This should be fixed in Autoconf 2.73. |
31 | 33 | m4_ifdef([AC_SYS_YEAR2038_RECOMMENDED], | |
32 | # _AC_SYS_LARGEFILE_TEST_INCLUDES | 34 | [m4_bmatch(m4_ifdef([_AC_SYS_LARGEFILE_OPTIONS], |
33 | # ------------------------------- | 35 | [m4_defn([_AC_SYS_LARGEFILE_OPTIONS])], |
34 | m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES], | 36 | ["-n32"]), |
35 | [#include <sys/types.h> | 37 | ["-n32"], |
36 | /* Check that off_t can represent 2**63 - 1 correctly. | 38 | [m4_undefine([AC_SYS_YEAR2038_RECOMMENDED])])]) |
37 | We can't simply define LARGE_OFF_T to be 9223372036854775807, | ||
38 | since some C++ compilers masquerading as C compilers | ||
39 | incorrectly reject 9223372036854775807. */ | ||
40 | #define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) | ||
41 | int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721 | ||
42 | && LARGE_OFF_T % 2147483647 == 1) | ||
43 | ? 1 : -1]];[]dnl | ||
44 | ]) | ||
45 | ])# m4_version_prereq 2.70 | ||
46 | 39 | ||
47 | # Support AC_SYS_YEAR2038, even if Autoconf 2.71 or earlier. | 40 | m4_ifndef([AC_SYS_YEAR2038_RECOMMENDED], [ |
48 | # This code is taken from Autoconf master. | 41 | # Fix up AC_SYS_YEAR2038_RECOMMENDED and related macros, even if |
49 | m4_ifndef([AC_SYS_YEAR2038], [ | 42 | # unpatched Autoconf 2.72 or earlier. This code is taken from Autoconf master. |
50 | 43 | ||
51 | # _AC_SYS_YEAR2038_TEST_CODE | 44 | # _AC_SYS_YEAR2038_TEST_CODE |
52 | # -------------------------- | 45 | # -------------------------- |
@@ -78,8 +71,8 @@ m4_define([_AC_SYS_YEAR2038_OPTIONS], m4_normalize( | |||
78 | dnl 32-bit MinGW (misconfiguration) | 71 | dnl 32-bit MinGW (misconfiguration) |
79 | )) | 72 | )) |
80 | 73 | ||
81 | # _AC_SYS_YEAR2038_PROBE([IF-NOT-DETECTED]) | 74 | # _AC_SYS_YEAR2038_PROBE |
82 | # ----------------------------------------- | 75 | # ---------------------- |
83 | # Subroutine of AC_SYS_YEAR2038. Probe for time_t that can represent | 76 | # Subroutine of AC_SYS_YEAR2038. Probe for time_t that can represent |
84 | # time points more than 2**31 - 1 seconds after the epoch (dates after | 77 | # time points more than 2**31 - 1 seconds after the epoch (dates after |
85 | # 2038-01-18, see above) and set the cache variable ac_cv_sys_year2038_opts | 78 | # 2038-01-18, see above) and set the cache variable ac_cv_sys_year2038_opts |
@@ -92,13 +85,10 @@ m4_define([_AC_SYS_YEAR2038_OPTIONS], m4_normalize( | |||
92 | # AC_TRY_RUN. Note also that some systems only support large time_t | 85 | # AC_TRY_RUN. Note also that some systems only support large time_t |
93 | # together with large off_t. | 86 | # together with large off_t. |
94 | # | 87 | # |
95 | # If support is not detected, the behavior depends on which of the | ||
96 | # top-level AC_SYS_YEAR2038 macros was used (see below). | ||
97 | # | ||
98 | # If you change this macro you may also need to change | 88 | # If you change this macro you may also need to change |
99 | # _AC_SYS_YEAR2038_OPTIONS. | 89 | # _AC_SYS_YEAR2038_OPTIONS. |
100 | AC_DEFUN([_AC_SYS_YEAR2038_PROBE], | 90 | AC_DEFUN([_AC_SYS_YEAR2038_PROBE], |
101 | [AC_CACHE_CHECK([for $CC option to enable timestamps after Jan 2038], | 91 | [AC_CACHE_CHECK([for $CPPFLAGS option for timestamps after 2038], |
102 | [ac_cv_sys_year2038_opts], | 92 | [ac_cv_sys_year2038_opts], |
103 | [ac_save_CPPFLAGS="$CPPFLAGS" | 93 | [ac_save_CPPFLAGS="$CPPFLAGS" |
104 | ac_opt_found=no | 94 | ac_opt_found=no |
@@ -117,40 +107,20 @@ ac_have_year2038=yes | |||
117 | AS_CASE([$ac_cv_sys_year2038_opts], | 107 | AS_CASE([$ac_cv_sys_year2038_opts], |
118 | ["none needed"], [], | 108 | ["none needed"], [], |
119 | ["support not detected"], | 109 | ["support not detected"], |
120 | [ac_have_year2038=no | 110 | [ac_have_year2038=no], |
121 | AS_CASE([$enable_year2038], | ||
122 | [yes], | ||
123 | [# If we're not cross compiling and 'touch' works with a large | ||
124 | # timestamp, then we can presume the system supports wider time_t | ||
125 | # *somehow* and we just weren't able to detect it. One common | ||
126 | # case that we deliberately *don't* probe for is a system that | ||
127 | # supports both 32- and 64-bit ABIs but only the 64-bit ABI offers | ||
128 | # wide time_t. (It would be inappropriate for us to override an | ||
129 | # intentional use of -m32.) Error out, demanding use of | ||
130 | # --disable-year2038 if this is intentional. | ||
131 | AS_IF([test $cross_compiling = no], | ||
132 | [AS_IF([TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null], | ||
133 | [AS_CASE([`TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null`], | ||
134 | [*'Feb 7 2106'* | *'Feb 7 17:10'*], | ||
135 | [AC_MSG_FAILURE(m4_text_wrap( | ||
136 | [this system appears to support timestamps after January 2038, | ||
137 | but no mechanism for enabling wide 'time_t' was detected. | ||
138 | Did you mean to build a 64-bit binary? (e.g. 'CC="${CC} -m64"'.) | ||
139 | To proceed with 32-bit time_t, configure with '--disable-year2038'.], | ||
140 | [], [], [55]))])])])])], | ||
141 | 111 | ||
142 | ["-D_TIME_BITS=64"], | 112 | ["-D_TIME_BITS=64"], |
143 | [AC_DEFINE([_TIME_BITS], [64], | 113 | [AC_DEFINE([_TIME_BITS], [64], |
144 | [Number of bits in time_t, on hosts where this is settable.])], | 114 | [Number of bits in time_t, on hosts where this is settable.])], |
145 | 115 | ||
146 | ["-D__MINGW_USE_VC2005_COMPAT=1"], | 116 | ["-D__MINGW_USE_VC2005_COMPAT"], |
147 | [AC_DEFINE([__MINGW_USE_VC2005_COMPAT], [1], | 117 | [AC_DEFINE([__MINGW_USE_VC2005_COMPAT], [1], |
148 | [Define to 1 on platforms where this makes time_t a 64-bit type.])], | 118 | [Define to 1 on platforms where this makes time_t a 64-bit type.])], |
149 | 119 | ||
150 | ["-U_USE_32_BIT_TIME_T"*], | 120 | ["-U_USE_32_BIT_TIME_T"*], |
151 | [AC_MSG_FAILURE(m4_text_wrap( | 121 | [AC_MSG_FAILURE(m4_text_wrap( |
152 | [the 'time_t' type is currently forced to be 32-bit. | 122 | [the 'time_t' type is currently forced to be 32-bit. |
153 | It will stop working after January 2038. | 123 | It will stop working after mid-January 2038. |
154 | Remove _USE_32BIT_TIME_T from the compiler flags.], | 124 | Remove _USE_32BIT_TIME_T from the compiler flags.], |
155 | [], [], [55]))], | 125 | [], [], [55]))], |
156 | 126 | ||
@@ -160,12 +130,11 @@ AS_CASE([$ac_cv_sys_year2038_opts], | |||
160 | 130 | ||
161 | # _AC_SYS_YEAR2038_ENABLE | 131 | # _AC_SYS_YEAR2038_ENABLE |
162 | # ----------------------- | 132 | # ----------------------- |
163 | # Subroutine of AC_SYS_YEAR2038 and _AC_SYS_YEAR2038_OPT_IN. | ||
164 | # Depending on which of the YEAR2038 macros was used, add either an | 133 | # Depending on which of the YEAR2038 macros was used, add either an |
165 | # --enable-year2038, or a --disable-year2038, or no option at all to | 134 | # --enable-year2038 or a --disable-year2038 to |
166 | # the configure script. Note that this is expanded very late and | 135 | # the configure script. This is expanded very late and |
167 | # therefore there cannot be any code in the AC_ARG_ENABLE. The | 136 | # therefore there cannot be any code in the AC_ARG_ENABLE. The |
168 | # default value for enable_year2038 is emitted unconditionally | 137 | # default value for 'enable_year2038' is emitted unconditionally |
169 | # because the generated code always looks at this variable. | 138 | # because the generated code always looks at this variable. |
170 | m4_define([_AC_SYS_YEAR2038_ENABLE], | 139 | m4_define([_AC_SYS_YEAR2038_ENABLE], |
171 | [m4_divert_text([DEFAULTS], | 140 | [m4_divert_text([DEFAULTS], |
@@ -175,50 +144,70 @@ m4_define([_AC_SYS_YEAR2038_ENABLE], | |||
175 | [AC_ARG_ENABLE([year2038], | 144 | [AC_ARG_ENABLE([year2038], |
176 | m4_provide_if([AC_SYS_YEAR2038], | 145 | m4_provide_if([AC_SYS_YEAR2038], |
177 | [AS_HELP_STRING([--disable-year2038], | 146 | [AS_HELP_STRING([--disable-year2038], |
178 | [do not support timestamps after 2038])], | 147 | [don't support timestamps after 2038])], |
179 | [AS_HELP_STRING([--enable-year2038], | 148 | [AS_HELP_STRING([--enable-year2038], |
180 | [support timestamps after 2038])]))]) | 149 | [support timestamps after 2038])]))]) |
181 | 150 | ||
182 | # _AC_SYS_YEAR2038_OPT_IN | ||
183 | # ----------------------- | ||
184 | # If the --enable-year2038 option is given to configure, attempt to | ||
185 | # detect and activate support for large time_t on 32-bit systems. | ||
186 | # This macro is automatically invoked by AC_SYS_LARGEFILE when large | ||
187 | # *file* support is detected. It does not AC_REQUIRE AC_SYS_LARGEFILE | ||
188 | # to avoid a dependency loop, and is therefore unsafe to expose as a | ||
189 | # documented macro. | ||
190 | AC_DEFUN([_AC_SYS_YEAR2038_OPT_IN], | ||
191 | [m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl | ||
192 | AS_IF([test "$enable_year2038" != no], [_AC_SYS_YEAR2038_PROBE]) | ||
193 | AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE]) | ||
194 | ])]) | ||
195 | |||
196 | # AC_SYS_YEAR2038 | 151 | # AC_SYS_YEAR2038 |
197 | # --------------- | 152 | # --------------- |
198 | # Attempt to detect and activate support for large time_t. | 153 | # Attempt to detect and activate support for large time_t. |
199 | # On systems where time_t is not always 64 bits, this probe can be | 154 | # On systems where time_t is not always 64 bits, this probe can be |
200 | # skipped by passing the --disable-year2038 option to configure. | 155 | # skipped by passing the --disable-year2038 option to configure. |
201 | AC_DEFUN([AC_SYS_YEAR2038], | 156 | AC_DEFUN([AC_SYS_YEAR2038], |
202 | [AC_REQUIRE([AC_SYS_LARGEFILE])]dnl | 157 | [AC_REQUIRE([AC_SYS_LARGEFILE])dnl |
203 | [m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl | 158 | AS_IF([test "$enable_year2038,$ac_have_year2038,$cross_compiling" = yes,no,no], |
204 | AS_IF([test "$enable_year2038" != no], [_AC_SYS_YEAR2038_PROBE]) | 159 | [# If we're not cross compiling and 'touch' works with a large |
205 | AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE]) | 160 | # timestamp, then we can presume the system supports wider time_t |
206 | ])]) | 161 | # *somehow* and we just weren't able to detect it. One common |
162 | # case that we deliberately *don't* probe for is a system that | ||
163 | # supports both 32- and 64-bit ABIs but only the 64-bit ABI offers | ||
164 | # wide time_t. (It would be inappropriate for us to override an | ||
165 | # intentional use of -m32.) Error out, demanding use of | ||
166 | # --disable-year2038 if this is intentional. | ||
167 | AS_IF([TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null], | ||
168 | [AS_CASE([`TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null`], | ||
169 | [*'Feb 7 2106'* | *'Feb 7 17:10'*], | ||
170 | [AC_MSG_FAILURE(m4_text_wrap( | ||
171 | [this system appears to support timestamps after mid-January 2038, | ||
172 | but no mechanism for enabling wide 'time_t' was detected. | ||
173 | Did you mean to build a 64-bit binary? (E.g., 'CC="${CC} -m64"'.) | ||
174 | To proceed with 32-bit time_t, configure with '--disable-year2038'.], | ||
175 | [], [], [55]))])])])]) | ||
176 | |||
177 | # AC_SYS_YEAR2038_RECOMMENDED | ||
178 | # --------------------------- | ||
179 | # Same as AC_SYS_YEAR2038, but recommend support for large time_t. | ||
180 | # If we cannot find any way to make time_t capable of representing | ||
181 | # values larger than 2**31 - 1, error out unless --disable-year2038 is given. | ||
182 | AC_DEFUN([AC_SYS_YEAR2038_RECOMMENDED], | ||
183 | [AC_REQUIRE([AC_SYS_YEAR2038])dnl | ||
184 | AS_IF([test "$enable_year2038,$ac_have_year2038" = yes,no], | ||
185 | [AC_MSG_FAILURE(m4_text_wrap( | ||
186 | [could not enable timestamps after mid-January 2038. | ||
187 | This package recommends support for these later timestamps. | ||
188 | However, to proceed with signed 32-bit time_t even though it | ||
189 | will fail then, configure with '--disable-year2038'.], | ||
190 | [], [], [55]))])]) | ||
207 | 191 | ||
208 | # _AC_SYS_LARGEFILE_TEST_CODE | 192 | # _AC_SYS_LARGEFILE_TEST_CODE |
209 | # --------------------------- | 193 | # --------------------------- |
210 | # C code used to probe for large file support. | 194 | # C code used to probe for large file support. |
211 | m4_define([_AC_SYS_LARGEFILE_TEST_CODE], | 195 | m4_define([_AC_SYS_LARGEFILE_TEST_CODE], |
212 | [@%:@include <sys/types.h> | 196 | [@%:@include <sys/types.h> |
213 | /* Check that off_t can represent 2**63 - 1 correctly. | 197 | @%:@ifndef FTYPE |
214 | We can't simply define LARGE_OFF_T to be 9223372036854775807, | 198 | @%:@ define FTYPE off_t |
199 | @%:@endif | ||
200 | /* Check that FTYPE can represent 2**63 - 1 correctly. | ||
201 | We can't simply define LARGE_FTYPE to be 9223372036854775807, | ||
215 | since some C++ compilers masquerading as C compilers | 202 | since some C++ compilers masquerading as C compilers |
216 | incorrectly reject 9223372036854775807. */ | 203 | incorrectly reject 9223372036854775807. */ |
217 | @%:@define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) | 204 | @%:@define LARGE_FTYPE (((FTYPE) 1 << 31 << 31) - 1 + ((FTYPE) 1 << 31 << 31)) |
218 | int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721 | 205 | int FTYPE_is_large[[(LARGE_FTYPE % 2147483629 == 721 |
219 | && LARGE_OFF_T % 2147483647 == 1) | 206 | && LARGE_FTYPE % 2147483647 == 1) |
220 | ? 1 : -1]];[]dnl | 207 | ? 1 : -1]];[]dnl |
221 | ]) | 208 | ]) |
209 | # Defined by Autoconf 2.71 and circa 2022 Gnulib unwisely depended on it. | ||
210 | m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES], [_AC_SYS_LARGEFILE_TEST_CODE]) | ||
222 | 211 | ||
223 | # _AC_SYS_LARGEFILE_OPTIONS | 212 | # _AC_SYS_LARGEFILE_OPTIONS |
224 | # ------------------------- | 213 | # ------------------------- |
@@ -228,8 +217,7 @@ m4_define([_AC_SYS_LARGEFILE_TEST_CODE], | |||
228 | m4_define([_AC_SYS_LARGEFILE_OPTIONS], m4_normalize( | 217 | m4_define([_AC_SYS_LARGEFILE_OPTIONS], m4_normalize( |
229 | ["none needed"] dnl Most current systems | 218 | ["none needed"] dnl Most current systems |
230 | ["-D_FILE_OFFSET_BITS=64"] dnl X/Open LFS spec | 219 | ["-D_FILE_OFFSET_BITS=64"] dnl X/Open LFS spec |
231 | ["-D_LARGE_FILES=1"] dnl AIX (which versions?) | 220 | ["-D_LARGE_FILES=1"] dnl 32-bit AIX 4.2.1+, 32-bit z/OS |
232 | ["-n32"] dnl Irix 6.2 w/ SGI compiler | ||
233 | )) | 221 | )) |
234 | 222 | ||
235 | # _AC_SYS_LARGEFILE_PROBE | 223 | # _AC_SYS_LARGEFILE_PROBE |
@@ -246,24 +234,43 @@ m4_define([_AC_SYS_LARGEFILE_OPTIONS], m4_normalize( | |||
246 | # If you change this macro you may also need to change | 234 | # If you change this macro you may also need to change |
247 | # _AC_SYS_LARGEFILE_OPTIONS. | 235 | # _AC_SYS_LARGEFILE_OPTIONS. |
248 | AC_DEFUN([_AC_SYS_LARGEFILE_PROBE], | 236 | AC_DEFUN([_AC_SYS_LARGEFILE_PROBE], |
249 | [AC_CACHE_CHECK([for $CC option to enable large file support], | 237 | [AC_CACHE_CHECK([for $CPPFLAGS option for large files], |
250 | [ac_cv_sys_largefile_opts], | 238 | [ac_cv_sys_largefile_opts], |
251 | [ac_save_CC="$CC" | 239 | [ac_save_CPPFLAGS=$CPPFLAGS |
252 | ac_opt_found=no | 240 | ac_opt_found=no |
253 | for ac_opt in _AC_SYS_LARGEFILE_OPTIONS; do | 241 | for ac_opt in _AC_SYS_LARGEFILE_OPTIONS; do |
254 | AS_IF([test x"$ac_opt" != x"none needed"], | 242 | AS_IF([test x"$ac_opt" != x"none needed"], |
255 | [CC="$ac_save_CC $ac_opt"]) | 243 | [CPPFLAGS="$ac_save_CPPFLAGS $ac_opt"]) |
256 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_CODE])], | 244 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_CODE])], |
257 | [ac_cv_sys_largefile_opts="$ac_opt" | 245 | [AS_IF([test x"$ac_opt" = x"none needed"], |
246 | [# GNU/Linux s390x and alpha need _FILE_OFFSET_BITS=64 for wide ino_t. | ||
247 | CPPFLAGS="$CPPFLAGS -DFTYPE=ino_t" | ||
248 | AC_COMPILE_IFELSE([], [], | ||
249 | [CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=64" | ||
250 | AC_COMPILE_IFELSE([], [ac_opt='-D_FILE_OFFSET_BITS=64'])])]) | ||
251 | ac_cv_sys_largefile_opts=$ac_opt | ||
258 | ac_opt_found=yes]) | 252 | ac_opt_found=yes]) |
259 | test $ac_opt_found = no || break | 253 | test $ac_opt_found = no || break |
260 | done | 254 | done |
261 | CC="$ac_save_CC" | 255 | CPPFLAGS=$ac_save_CPPFLAGS |
256 | dnl Gnulib implements large file support for native Windows, based on the | ||
257 | dnl variables WINDOWS_64_BIT_OFF_T, WINDOWS_64_BIT_ST_SIZE. | ||
258 | m4_ifdef([gl_LARGEFILE], [ | ||
259 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
260 | if test $ac_opt_found != yes; then | ||
261 | AS_CASE([$host_os], | ||
262 | [mingw* | windows*], | ||
263 | [ac_cv_sys_largefile_opts="supported through gnulib" | ||
264 | ac_opt_found=yes] | ||
265 | ) | ||
266 | fi | ||
267 | ]) | ||
262 | test $ac_opt_found = yes || ac_cv_sys_largefile_opts="support not detected"]) | 268 | test $ac_opt_found = yes || ac_cv_sys_largefile_opts="support not detected"]) |
263 | 269 | ||
264 | ac_have_largefile=yes | 270 | ac_have_largefile=yes |
265 | AS_CASE([$ac_cv_sys_largefile_opts], | 271 | AS_CASE([$ac_cv_sys_largefile_opts], |
266 | ["none needed"], [], | 272 | ["none needed"], [], |
273 | ["supported through gnulib"], [], | ||
267 | ["support not detected"], | 274 | ["support not detected"], |
268 | [ac_have_largefile=no], | 275 | [ac_have_largefile=no], |
269 | 276 | ||
@@ -275,27 +282,12 @@ AS_CASE([$ac_cv_sys_largefile_opts], | |||
275 | [AC_DEFINE([_LARGE_FILES], [1], | 282 | [AC_DEFINE([_LARGE_FILES], [1], |
276 | [Define to 1 on platforms where this makes off_t a 64-bit type.])], | 283 | [Define to 1 on platforms where this makes off_t a 64-bit type.])], |
277 | 284 | ||
278 | ["-n32"], | ||
279 | [CC="$CC -n32"], | ||
280 | |||
281 | [AC_MSG_ERROR( | 285 | [AC_MSG_ERROR( |
282 | [internal error: bad value for \$ac_cv_sys_largefile_opts])]) | 286 | [internal error: bad value for \$ac_cv_sys_largefile_opts])]) |
283 | 287 | ||
284 | _AC_SYS_YEAR2038_OPT_IN | 288 | AS_IF([test "$enable_year2038" != no], |
285 | ]) | 289 | [_AC_SYS_YEAR2038_PROBE]) |
286 | 290 | AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])]) | |
287 | # _AC_SYS_LARGEFILE_ENABLE | ||
288 | # ------------------------ | ||
289 | # Subroutine of AC_SYS_LARGEFILE. Note that this | ||
290 | # is expanded very late and therefore there cannot be any code in the | ||
291 | # AC_ARG_ENABLE. The default value for enable_largefile is emitted | ||
292 | # unconditionally because the generated shell code always looks at | ||
293 | # this variable. | ||
294 | m4_define([_AC_SYS_LARGEFILE_ENABLE], | ||
295 | [m4_divert_text([DEFAULTS], | ||
296 | enable_largefile=yes)]dnl | ||
297 | [AC_ARG_ENABLE([largefile], | ||
298 | [AS_HELP_STRING([--disable-largefile], [omit support for large files])])]) | ||
299 | 291 | ||
300 | # AC_SYS_LARGEFILE | 292 | # AC_SYS_LARGEFILE |
301 | # ---------------- | 293 | # ---------------- |
@@ -306,14 +298,13 @@ m4_define([_AC_SYS_LARGEFILE_ENABLE], | |||
306 | # Additionally, on Linux file systems with 64-bit inodes a file that happens | 298 | # Additionally, on Linux file systems with 64-bit inodes a file that happens |
307 | # to have a 64-bit inode number cannot be accessed by 32-bit applications on | 299 | # to have a 64-bit inode number cannot be accessed by 32-bit applications on |
308 | # Linux x86/x86_64. This can occur with file systems such as XFS and NFS. | 300 | # Linux x86/x86_64. This can occur with file systems such as XFS and NFS. |
309 | # This macro allows configuration to continue if the system doesn't support | ||
310 | # large files. | ||
311 | AC_DEFUN([AC_SYS_LARGEFILE], | 301 | AC_DEFUN([AC_SYS_LARGEFILE], |
312 | [m4_provide_if([_AC_SYS_LARGEFILE_PROBE], [], [dnl | 302 | [AC_ARG_ENABLE([largefile], |
313 | AS_IF([test "$enable_largefile" != no], [_AC_SYS_LARGEFILE_PROBE]) | 303 | [AS_HELP_STRING([--disable-largefile], |
314 | AC_CONFIG_COMMANDS_PRE([_AC_SYS_LARGEFILE_ENABLE]) | 304 | [omit support for large files])])dnl |
315 | ])]) | 305 | AS_IF([test "$enable_largefile,$enable_year2038" != no,no], |
316 | ])# m4_ifndef AC_SYS_YEAR2038 | 306 | [_AC_SYS_LARGEFILE_PROBE])]) |
307 | ])# m4_ifndef AC_SYS_YEAR2038_RECOMMENDED | ||
317 | 308 | ||
318 | # Enable large files on systems where this is implemented by Gnulib, not by the | 309 | # Enable large files on systems where this is implemented by Gnulib, not by the |
319 | # system headers. | 310 | # system headers. |
@@ -323,7 +314,7 @@ AC_DEFUN([gl_LARGEFILE], | |||
323 | [ | 314 | [ |
324 | AC_REQUIRE([AC_CANONICAL_HOST]) | 315 | AC_REQUIRE([AC_CANONICAL_HOST]) |
325 | case "$host_os" in | 316 | case "$host_os" in |
326 | mingw*) | 317 | mingw* | windows*) |
327 | dnl Native Windows. | 318 | dnl Native Windows. |
328 | dnl mingw64 defines off_t to a 64-bit type already, if | 319 | dnl mingw64 defines off_t to a 64-bit type already, if |
329 | dnl _FILE_OFFSET_BITS=64, which is ensured by AC_SYS_LARGEFILE. | 320 | dnl _FILE_OFFSET_BITS=64, which is ensured by AC_SYS_LARGEFILE. |
diff --git a/gl/m4/limits-h.m4 b/gl/m4/limits-h.m4 index 5088fa16..1b619e1e 100644 --- a/gl/m4/limits-h.m4 +++ b/gl/m4/limits-h.m4 | |||
@@ -1,10 +1,12 @@ | |||
1 | dnl Check whether limits.h has needed features. | 1 | # limits-h.m4 |
2 | 2 | # serial 1 | |
3 | dnl Copyright 2016-2023 Free Software Foundation, Inc. | 3 | dnl Copyright 2016-2024 Free Software Foundation, Inc. |
4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
7 | 7 | ||
8 | dnl Check whether limits.h has needed features. | ||
9 | |||
8 | dnl From Paul Eggert. | 10 | dnl From Paul Eggert. |
9 | 11 | ||
10 | AC_DEFUN_ONCE([gl_LIMITS_H], | 12 | AC_DEFUN_ONCE([gl_LIMITS_H], |
@@ -23,14 +25,27 @@ AC_DEFUN_ONCE([gl_LIMITS_H], | |||
23 | int wb = WORD_BIT; | 25 | int wb = WORD_BIT; |
24 | int ullw = ULLONG_WIDTH; | 26 | int ullw = ULLONG_WIDTH; |
25 | int bw = BOOL_WIDTH; | 27 | int bw = BOOL_WIDTH; |
28 | int bm = BOOL_MAX; | ||
29 | int mblm = MB_LEN_MAX; | ||
26 | ]])], | 30 | ]])], |
27 | [gl_cv_header_limits_width=yes], | 31 | [gl_cv_header_limits_width=yes], |
28 | [gl_cv_header_limits_width=no])]) | 32 | [gl_cv_header_limits_width=no])]) |
29 | if test "$gl_cv_header_limits_width" = yes; then | 33 | GL_GENERATE_LIMITS_H=true |
30 | GL_GENERATE_LIMITS_H=false | 34 | AS_IF([test "$gl_cv_header_limits_width" = yes], |
31 | else | 35 | [AC_CACHE_CHECK([whether limits.h has SSIZE_MAX], |
32 | GL_GENERATE_LIMITS_H=true | 36 | [gl_cv_header_limits_ssize_max], |
33 | fi | 37 | [AC_COMPILE_IFELSE( |
38 | [AC_LANG_SOURCE( | ||
39 | [[#include <limits.h> | ||
40 | #ifndef SSIZE_MAX | ||
41 | #error "SSIZE_MAX is not defined" | ||
42 | #endif | ||
43 | ]])], | ||
44 | [gl_cv_header_limits_ssize_max=yes], | ||
45 | [gl_cv_header_limits_ssize_max=no])]) | ||
46 | if test "$gl_cv_header_limits_ssize_max" = yes; then | ||
47 | GL_GENERATE_LIMITS_H=false | ||
48 | fi]) | ||
34 | ]) | 49 | ]) |
35 | 50 | ||
36 | dnl Unconditionally enables the replacement of <limits.h>. | 51 | dnl Unconditionally enables the replacement of <limits.h>. |
diff --git a/gl/m4/localcharset.m4 b/gl/m4/localcharset.m4 index 15b6b2a5..807a5eed 100644 --- a/gl/m4/localcharset.m4 +++ b/gl/m4/localcharset.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # localcharset.m4 serial 8 | 1 | # localcharset.m4 |
2 | dnl Copyright (C) 2002, 2004, 2006, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 8 |
3 | dnl Copyright (C) 2002, 2004, 2006, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/locale-fr.m4 b/gl/m4/locale-fr.m4 index 8c41fadf..f8d7c543 100644 --- a/gl/m4/locale-fr.m4 +++ b/gl/m4/locale-fr.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # locale-fr.m4 serial 20 | 1 | # locale-fr.m4 |
2 | dnl Copyright (C) 2003, 2005-2023 Free Software Foundation, Inc. | 2 | # serial 23 |
3 | dnl Copyright (C) 2003, 2005-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -7,7 +8,7 @@ dnl with or without modifications, as long as this notice is preserved. | |||
7 | dnl From Bruno Haible. | 8 | dnl From Bruno Haible. |
8 | 9 | ||
9 | dnl Determine the name of a french locale with traditional encoding. | 10 | dnl Determine the name of a french locale with traditional encoding. |
10 | AC_DEFUN([gt_LOCALE_FR], | 11 | AC_DEFUN_ONCE([gt_LOCALE_FR], |
11 | [ | 12 | [ |
12 | AC_REQUIRE([AC_CANONICAL_HOST]) | 13 | AC_REQUIRE([AC_CANONICAL_HOST]) |
13 | AC_REQUIRE([AM_LANGINFO_CODESET]) | 14 | AC_REQUIRE([AM_LANGINFO_CODESET]) |
@@ -86,7 +87,7 @@ int main () { | |||
86 | # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", | 87 | # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", |
87 | # "ja" as "Japanese" or "Japanese_Japan.932", | 88 | # "ja" as "Japanese" or "Japanese_Japan.932", |
88 | # and similar. | 89 | # and similar. |
89 | mingw*) | 90 | mingw* | windows*) |
90 | # Test for the native Windows locale name. | 91 | # Test for the native Windows locale name. |
91 | if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | 92 | if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then |
92 | gt_cv_locale_fr=French_France.1252 | 93 | gt_cv_locale_fr=French_France.1252 |
@@ -116,7 +117,7 @@ int main () { | |||
116 | if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | 117 | if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then |
117 | gt_cv_locale_fr=fr_FR.iso88591 | 118 | gt_cv_locale_fr=fr_FR.iso88591 |
118 | else | 119 | else |
119 | # Test for the Solaris 7 locale name. | 120 | # Test for the Solaris 10 locale name. |
120 | if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | 121 | if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then |
121 | gt_cv_locale_fr=fr | 122 | gt_cv_locale_fr=fr |
122 | else | 123 | else |
@@ -133,15 +134,31 @@ int main () { | |||
133 | rm -fr conftest* | 134 | rm -fr conftest* |
134 | ]) | 135 | ]) |
135 | LOCALE_FR=$gt_cv_locale_fr | 136 | LOCALE_FR=$gt_cv_locale_fr |
137 | case $LOCALE_FR in #( | ||
138 | '' | *[[[:space:]\"\$\'*@<:@]]*) | ||
139 | dnl This locale name might cause trouble with sh or make. | ||
140 | AC_MSG_WARN([invalid locale "$LOCALE_FR"; assuming "none"]) | ||
141 | LOCALE_FR=none;; | ||
142 | esac | ||
136 | AC_SUBST([LOCALE_FR]) | 143 | AC_SUBST([LOCALE_FR]) |
137 | ]) | 144 | ]) |
138 | 145 | ||
139 | dnl Determine the name of a french locale with UTF-8 encoding. | 146 | dnl Determine the name of a french locale with UTF-8 encoding. |
140 | AC_DEFUN([gt_LOCALE_FR_UTF8], | 147 | AC_DEFUN_ONCE([gt_LOCALE_FR_UTF8], |
141 | [ | 148 | [ |
149 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
142 | AC_REQUIRE([AM_LANGINFO_CODESET]) | 150 | AC_REQUIRE([AM_LANGINFO_CODESET]) |
143 | AC_CACHE_CHECK([for a french Unicode locale], [gt_cv_locale_fr_utf8], [ | 151 | AC_CACHE_CHECK([for a french Unicode locale], [gt_cv_locale_fr_utf8], [ |
144 | AC_LANG_CONFTEST([AC_LANG_SOURCE([[ | 152 | case "$host_os" in |
153 | *-musl* | midipix*) | ||
154 | dnl On musl libc, all kinds of ll_CC.UTF-8 locales exist, even without | ||
155 | dnl any locale file on disk. But they are effectively equivalent to the | ||
156 | dnl C.UTF-8 locale, except for locale categories (such as LC_MESSSAGES) | ||
157 | dnl for which localizations (.mo files) have been installed. | ||
158 | gt_cv_locale_fr_utf8=fr_FR.UTF-8 | ||
159 | ;; | ||
160 | *) | ||
161 | AC_LANG_CONFTEST([AC_LANG_SOURCE([[ | ||
145 | #include <locale.h> | 162 | #include <locale.h> |
146 | #include <time.h> | 163 | #include <time.h> |
147 | #if HAVE_LANGINFO_CODESET | 164 | #if HAVE_LANGINFO_CODESET |
@@ -203,51 +220,82 @@ int main () { | |||
203 | #endif | 220 | #endif |
204 | return 0; | 221 | return 0; |
205 | } | 222 | } |
206 | ]])]) | 223 | ]])]) |
207 | if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then | 224 | if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then |
208 | case "$host_os" in | 225 | case "$host_os" in |
209 | # Handle native Windows specially, because there setlocale() interprets | 226 | # Handle native Windows specially, because there setlocale() interprets |
210 | # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", | 227 | # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", |
211 | # "fr" or "fra" as "French" or "French_France.1252", | 228 | # "fr" or "fra" as "French" or "French_France.1252", |
212 | # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", | 229 | # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", |
213 | # "ja" as "Japanese" or "Japanese_Japan.932", | 230 | # "ja" as "Japanese" or "Japanese_Japan.932", |
214 | # and similar. | 231 | # and similar. |
215 | mingw*) | 232 | mingw* | windows*) |
216 | # Test for the hypothetical native Windows locale name. | 233 | # Test for the hypothetical native Windows locale name. |
217 | if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | 234 | if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then |
218 | gt_cv_locale_fr_utf8=French_France.65001 | 235 | gt_cv_locale_fr_utf8=French_France.65001 |
219 | else | ||
220 | # None found. | ||
221 | gt_cv_locale_fr_utf8=none | ||
222 | fi | ||
223 | ;; | ||
224 | *) | ||
225 | # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because | ||
226 | # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the | ||
227 | # configure script would override the LC_ALL setting. Likewise for | ||
228 | # LC_CTYPE, which is also set at the beginning of the configure script. | ||
229 | # Test for the usual locale name. | ||
230 | if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
231 | gt_cv_locale_fr_utf8=fr_FR | ||
232 | else | ||
233 | # Test for the locale name with explicit encoding suffix. | ||
234 | if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
235 | gt_cv_locale_fr_utf8=fr_FR.UTF-8 | ||
236 | else | ||
237 | # Test for the Solaris 7 locale name. | ||
238 | if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
239 | gt_cv_locale_fr_utf8=fr.UTF-8 | ||
240 | else | 236 | else |
241 | # None found. | 237 | # None found. |
242 | gt_cv_locale_fr_utf8=none | 238 | gt_cv_locale_fr_utf8=none |
243 | fi | 239 | fi |
244 | fi | 240 | ;; |
245 | fi | 241 | *) |
246 | ;; | 242 | # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because |
247 | esac | 243 | # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the |
248 | fi | 244 | # configure script would override the LC_ALL setting. Likewise for |
249 | rm -fr conftest* | 245 | # LC_CTYPE, which is also set at the beginning of the configure script. |
246 | # Test for the usual locale name. | ||
247 | if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
248 | gt_cv_locale_fr_utf8=fr_FR | ||
249 | else | ||
250 | # Test for the locale name with explicit encoding suffix. | ||
251 | if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
252 | gt_cv_locale_fr_utf8=fr_FR.UTF-8 | ||
253 | else | ||
254 | # Test for the Solaris 10 locale name. | ||
255 | if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | ||
256 | gt_cv_locale_fr_utf8=fr.UTF-8 | ||
257 | else | ||
258 | # None found. | ||
259 | gt_cv_locale_fr_utf8=none | ||
260 | fi | ||
261 | fi | ||
262 | fi | ||
263 | ;; | ||
264 | esac | ||
265 | fi | ||
266 | rm -fr conftest* | ||
267 | ;; | ||
268 | esac | ||
250 | ]) | 269 | ]) |
251 | LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 | 270 | LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 |
271 | case $LOCALE_FR_UTF8 in #( | ||
272 | '' | *[[[:space:]\"\$\'*@<:@]]*) | ||
273 | dnl This locale name might cause trouble with sh or make. | ||
274 | AC_MSG_WARN([invalid locale "$LOCALE_FR_UTF8"; assuming "none"]) | ||
275 | LOCALE_FR_UTF8=none;; | ||
276 | esac | ||
252 | AC_SUBST([LOCALE_FR_UTF8]) | 277 | AC_SUBST([LOCALE_FR_UTF8]) |
278 | |||
279 | dnl Users of $LOCALE_FR_UTF8 need to know which of the locale categories they | ||
280 | dnl can rely on. | ||
281 | case "$host_os" in | ||
282 | *-musl* | midipix*) | ||
283 | dnl On musl libc, locale categories other than LC_CTYPE and LC_MESSAGES | ||
284 | dnl are effectively unimplemented. | ||
285 | LC_COLLATE_IMPLEMENTED=false | ||
286 | LC_NUMERIC_IMPLEMENTED=false | ||
287 | LC_TIME_IMPLEMENTED=false | ||
288 | LC_MONETARY_IMPLEMENTED=false | ||
289 | ;; | ||
290 | *) | ||
291 | LC_COLLATE_IMPLEMENTED=true | ||
292 | LC_NUMERIC_IMPLEMENTED=true | ||
293 | LC_TIME_IMPLEMENTED=true | ||
294 | LC_MONETARY_IMPLEMENTED=true | ||
295 | ;; | ||
296 | esac | ||
297 | AC_SUBST([LC_COLLATE_IMPLEMENTED]) | ||
298 | AC_SUBST([LC_NUMERIC_IMPLEMENTED]) | ||
299 | AC_SUBST([LC_TIME_IMPLEMENTED]) | ||
300 | AC_SUBST([LC_MONETARY_IMPLEMENTED]) | ||
253 | ]) | 301 | ]) |
diff --git a/gl/m4/locale-ja.m4 b/gl/m4/locale-ja.m4 index 25901730..8423bcb9 100644 --- a/gl/m4/locale-ja.m4 +++ b/gl/m4/locale-ja.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # locale-ja.m4 serial 15 | 1 | # locale-ja.m4 |
2 | dnl Copyright (C) 2003, 2005-2023 Free Software Foundation, Inc. | 2 | # serial 18 |
3 | dnl Copyright (C) 2003, 2005-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -7,7 +8,7 @@ dnl with or without modifications, as long as this notice is preserved. | |||
7 | dnl From Bruno Haible. | 8 | dnl From Bruno Haible. |
8 | 9 | ||
9 | dnl Determine the name of a japanese locale with EUC-JP encoding. | 10 | dnl Determine the name of a japanese locale with EUC-JP encoding. |
10 | AC_DEFUN([gt_LOCALE_JA], | 11 | AC_DEFUN_ONCE([gt_LOCALE_JA], |
11 | [ | 12 | [ |
12 | AC_REQUIRE([AC_CANONICAL_HOST]) | 13 | AC_REQUIRE([AC_CANONICAL_HOST]) |
13 | AC_REQUIRE([AM_LANGINFO_CODESET]) | 14 | AC_REQUIRE([AM_LANGINFO_CODESET]) |
@@ -90,7 +91,7 @@ int main () | |||
90 | # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", | 91 | # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", |
91 | # "ja" as "Japanese" or "Japanese_Japan.932", | 92 | # "ja" as "Japanese" or "Japanese_Japan.932", |
92 | # and similar. | 93 | # and similar. |
93 | mingw*) | 94 | mingw* | windows*) |
94 | # Note that on native Windows, the Japanese locale is | 95 | # Note that on native Windows, the Japanese locale is |
95 | # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we | 96 | # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we |
96 | # cannot use it here. | 97 | # cannot use it here. |
@@ -117,7 +118,7 @@ int main () | |||
117 | if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | 118 | if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then |
118 | gt_cv_locale_ja=ja_JP.EUC | 119 | gt_cv_locale_ja=ja_JP.EUC |
119 | else | 120 | else |
120 | # Test for the Solaris 7 locale name. | 121 | # Test for the Solaris 10 locale name. |
121 | if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | 122 | if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then |
122 | gt_cv_locale_ja=ja | 123 | gt_cv_locale_ja=ja |
123 | else | 124 | else |
@@ -139,5 +140,11 @@ int main () | |||
139 | rm -fr conftest* | 140 | rm -fr conftest* |
140 | ]) | 141 | ]) |
141 | LOCALE_JA=$gt_cv_locale_ja | 142 | LOCALE_JA=$gt_cv_locale_ja |
143 | case $LOCALE_JA in #( | ||
144 | '' | *[[[:space:]\"\$\'*@<:@]]*) | ||
145 | dnl This locale name might cause trouble with sh or make. | ||
146 | AC_MSG_WARN([invalid locale "$LOCALE_JA"; assuming "none"]) | ||
147 | LOCALE_JA=none;; | ||
148 | esac | ||
142 | AC_SUBST([LOCALE_JA]) | 149 | AC_SUBST([LOCALE_JA]) |
143 | ]) | 150 | ]) |
diff --git a/gl/m4/locale-zh.m4 b/gl/m4/locale-zh.m4 index b9f9eef7..7f1a10be 100644 --- a/gl/m4/locale-zh.m4 +++ b/gl/m4/locale-zh.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # locale-zh.m4 serial 15 | 1 | # locale-zh.m4 |
2 | dnl Copyright (C) 2003, 2005-2023 Free Software Foundation, Inc. | 2 | # serial 18 |
3 | dnl Copyright (C) 2003, 2005-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -7,7 +8,7 @@ dnl with or without modifications, as long as this notice is preserved. | |||
7 | dnl From Bruno Haible. | 8 | dnl From Bruno Haible. |
8 | 9 | ||
9 | dnl Determine the name of a chinese locale with GB18030 encoding. | 10 | dnl Determine the name of a chinese locale with GB18030 encoding. |
10 | AC_DEFUN([gt_LOCALE_ZH_CN], | 11 | AC_DEFUN_ONCE([gt_LOCALE_ZH_CN], |
11 | [ | 12 | [ |
12 | AC_REQUIRE([AC_CANONICAL_HOST]) | 13 | AC_REQUIRE([AC_CANONICAL_HOST]) |
13 | AC_REQUIRE([AM_LANGINFO_CODESET]) | 14 | AC_REQUIRE([AM_LANGINFO_CODESET]) |
@@ -91,7 +92,7 @@ int main () | |||
91 | # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", | 92 | # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", |
92 | # "ja" as "Japanese" or "Japanese_Japan.932", | 93 | # "ja" as "Japanese" or "Japanese_Japan.932", |
93 | # and similar. | 94 | # and similar. |
94 | mingw*) | 95 | mingw* | windows*) |
95 | # Test for the hypothetical native Windows locale name. | 96 | # Test for the hypothetical native Windows locale name. |
96 | if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then | 97 | if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then |
97 | gt_cv_locale_zh_CN=Chinese_China.54936 | 98 | gt_cv_locale_zh_CN=Chinese_China.54936 |
@@ -133,5 +134,11 @@ int main () | |||
133 | rm -fr conftest* | 134 | rm -fr conftest* |
134 | ]) | 135 | ]) |
135 | LOCALE_ZH_CN=$gt_cv_locale_zh_CN | 136 | LOCALE_ZH_CN=$gt_cv_locale_zh_CN |
137 | case $LOCALE_ZH_CN in #( | ||
138 | '' | *[[[:space:]\"\$\'*@<:@]]*) | ||
139 | dnl This locale name might cause trouble with sh or make. | ||
140 | AC_MSG_WARN([invalid locale "$LOCALE_ZH_CN"; assuming "none"]) | ||
141 | LOCALE_ZH_CN=none;; | ||
142 | esac | ||
136 | AC_SUBST([LOCALE_ZH_CN]) | 143 | AC_SUBST([LOCALE_ZH_CN]) |
137 | ]) | 144 | ]) |
diff --git a/gl/m4/locale_h.m4 b/gl/m4/locale_h.m4 index a33a0a46..cd1c81ec 100644 --- a/gl/m4/locale_h.m4 +++ b/gl/m4/locale_h.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # locale_h.m4 serial 28 | 1 | # locale_h.m4 |
2 | dnl Copyright (C) 2007, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 31 |
3 | dnl Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -59,7 +60,9 @@ AC_DEFUN_ONCE([gl_LOCALE_H], | |||
59 | dnl On native Windows with MSVC, merely define these member names as macros. | 60 | dnl On native Windows with MSVC, merely define these member names as macros. |
60 | dnl This avoids trouble in C++ mode. | 61 | dnl This avoids trouble in C++ mode. |
61 | case "$host_os" in | 62 | case "$host_os" in |
62 | mingw*) | 63 | windows*-msvc*) |
64 | ;; | ||
65 | mingw* | windows*) | ||
63 | AC_EGREP_CPP([Special], [ | 66 | AC_EGREP_CPP([Special], [ |
64 | #ifdef _MSC_VER | 67 | #ifdef _MSC_VER |
65 | Special | 68 | Special |
@@ -152,7 +155,7 @@ AC_DEFUN([gl_LOCALE_H_REQUIRE_DEFAULTS], | |||
152 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETLOCALE]) | 155 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETLOCALE]) |
153 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETLOCALE_NULL]) | 156 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETLOCALE_NULL]) |
154 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DUPLOCALE]) | 157 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DUPLOCALE]) |
155 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOCALENAME]) | 158 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOCALENAME_UNSAFE]) |
156 | ]) | 159 | ]) |
157 | m4_require(GL_MODULE_INDICATOR_PREFIX[_LOCALE_H_MODULE_INDICATOR_DEFAULTS]) | 160 | m4_require(GL_MODULE_INDICATOR_PREFIX[_LOCALE_H_MODULE_INDICATOR_DEFAULTS]) |
158 | AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) | 161 | AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) |
diff --git a/gl/m4/localeconv.m4 b/gl/m4/localeconv.m4 index ae225fed..77d5684f 100644 --- a/gl/m4/localeconv.m4 +++ b/gl/m4/localeconv.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # localeconv.m4 serial 1 | 1 | # localeconv.m4 |
2 | dnl Copyright (C) 2012-2023 Free Software Foundation, Inc. | 2 | # serial 3 |
3 | dnl Copyright (C) 2012-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -8,10 +9,45 @@ AC_DEFUN([gl_FUNC_LOCALECONV], | |||
8 | [ | 9 | [ |
9 | AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) | 10 | AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) |
10 | AC_REQUIRE([gl_LOCALE_H]) | 11 | AC_REQUIRE([gl_LOCALE_H]) |
12 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
11 | 13 | ||
12 | if test $REPLACE_STRUCT_LCONV = 1; then | 14 | if test $REPLACE_STRUCT_LCONV = 1; then |
13 | REPLACE_LOCALECONV=1 | 15 | REPLACE_LOCALECONV=1 |
14 | fi | 16 | fi |
17 | if test $REPLACE_LOCALECONV = 0; then | ||
18 | dnl Test whether fields of type 'char' are filled correctly. | ||
19 | dnl This test fails on mingw 5.0.3. | ||
20 | AC_CACHE_CHECK([whether localeconv works], | ||
21 | [gl_cv_func_localeconv_works], | ||
22 | [AC_RUN_IFELSE( | ||
23 | [AC_LANG_SOURCE([[ | ||
24 | #include <locale.h> | ||
25 | #include <limits.h> | ||
26 | int main () | ||
27 | { | ||
28 | struct lconv *l = localeconv (); | ||
29 | return l->frac_digits != CHAR_MAX && l->frac_digits < 0; | ||
30 | } | ||
31 | ]])], | ||
32 | [gl_cv_func_localeconv_works=yes], | ||
33 | [gl_cv_func_localeconv_works=no], | ||
34 | [case "$host_os" in | ||
35 | # Guess yes on glibc systems. | ||
36 | *-gnu* | gnu*) gl_cv_func_localeconv_works="guessing yes" ;; | ||
37 | # Guess yes on musl systems. | ||
38 | *-musl* | midipix*) gl_cv_func_localeconv_works="guessing yes" ;; | ||
39 | # Guess no on native Windows. | ||
40 | mingw* | windows*) gl_cv_func_localeconv_works="guessing no" ;; | ||
41 | # If we don't know, obey --enable-cross-guesses. | ||
42 | *) gl_cv_func_localeconv_works="$gl_cross_guess_normal" ;; | ||
43 | esac | ||
44 | ]) | ||
45 | ]) | ||
46 | case "$gl_cv_func_localeconv_works" in | ||
47 | *yes) ;; | ||
48 | *) REPLACE_LOCALECONV=1 ;; | ||
49 | esac | ||
50 | fi | ||
15 | ]) | 51 | ]) |
16 | 52 | ||
17 | # Prerequisites of lib/localeconv.c. | 53 | # Prerequisites of lib/localeconv.c. |
@@ -19,4 +55,6 @@ AC_DEFUN([gl_PREREQ_LOCALECONV], | |||
19 | [ | 55 | [ |
20 | AC_CHECK_MEMBERS([struct lconv.decimal_point], [], [], | 56 | AC_CHECK_MEMBERS([struct lconv.decimal_point], [], [], |
21 | [[#include <locale.h>]]) | 57 | [[#include <locale.h>]]) |
58 | AC_CHECK_MEMBERS([struct lconv.int_p_cs_precedes], [], [], | ||
59 | [[#include <locale.h>]]) | ||
22 | ]) | 60 | ]) |
diff --git a/gl/m4/lock.m4 b/gl/m4/lock.m4 index 88cf5575..eb0fc6a1 100644 --- a/gl/m4/lock.m4 +++ b/gl/m4/lock.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # lock.m4 serial 14 | 1 | # lock.m4 |
2 | dnl Copyright (C) 2005-2023 Free Software Foundation, Inc. | 2 | # serial 14 |
3 | dnl Copyright (C) 2005-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/lseek.m4 b/gl/m4/lseek.m4 index fd4f1f27..0bc3d65e 100644 --- a/gl/m4/lseek.m4 +++ b/gl/m4/lseek.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # lseek.m4 serial 12 | 1 | # lseek.m4 |
2 | dnl Copyright (C) 2007, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 15 |
3 | dnl Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -13,13 +14,15 @@ AC_DEFUN([gl_FUNC_LSEEK], | |||
13 | AC_CHECK_HEADERS_ONCE([unistd.h]) | 14 | AC_CHECK_HEADERS_ONCE([unistd.h]) |
14 | AC_CACHE_CHECK([whether lseek detects pipes], [gl_cv_func_lseek_pipe], | 15 | AC_CACHE_CHECK([whether lseek detects pipes], [gl_cv_func_lseek_pipe], |
15 | [case "$host_os" in | 16 | [case "$host_os" in |
16 | mingw*) | 17 | mingw* | windows*) |
17 | dnl Native Windows. | 18 | dnl Native Windows. |
18 | dnl The result of lseek (fd, (off_t)0, SEEK_CUR) or | 19 | dnl The result of lseek (fd, (off_t)0, SEEK_CUR) or |
19 | dnl SetFilePointer(handle, 0, NULL, FILE_CURRENT) | 20 | dnl SetFilePointer(handle, 0, NULL, FILE_CURRENT) |
20 | dnl for a pipe depends on the environment: In a Cygwin 1.5 | 21 | dnl for a pipe depends on the environment: |
21 | dnl environment it succeeds (wrong); in a Cygwin 1.7 environment | 22 | dnl In a Cygwin 1.5 environment it succeeds (wrong); |
22 | dnl it fails with a wrong errno value. | 23 | dnl in a Cygwin 1.7 environment it fails with a wrong errno value; |
24 | dnl in a Cygwin 2.9.0 environment it fails correctly; | ||
25 | dnl in a Cygwin 3.4.6 environment it succeeds again (wrong). | ||
23 | gl_cv_func_lseek_pipe=no | 26 | gl_cv_func_lseek_pipe=no |
24 | ;; | 27 | ;; |
25 | *) | 28 | *) |
@@ -70,9 +73,29 @@ AC_DEFUN([gl_FUNC_LSEEK], | |||
70 | REPLACE_LSEEK=1 | 73 | REPLACE_LSEEK=1 |
71 | fi | 74 | fi |
72 | 75 | ||
73 | dnl macOS SEEK_DATA is incompatible with other platforms. | 76 | AS_IF([test $REPLACE_LSEEK = 0], |
74 | case $host_os in | 77 | [AC_CACHE_CHECK([whether SEEK_DATA works but is incompatible with GNU], |
75 | darwin*) | 78 | [gl_cv_func_lseek_works_but_incompatible], |
76 | REPLACE_LSEEK=1;; | 79 | [AC_PREPROC_IFELSE( |
77 | esac | 80 | [AC_LANG_SOURCE( |
81 | dnl Use macOS "9999" to stand for a future fixed macOS version. | ||
82 | dnl See ../lib/unistd.in.h and <https://bugs.gnu.org/61386>. | ||
83 | [[#include <unistd.h> | ||
84 | #if defined __APPLE__ && defined __MACH__ && defined SEEK_DATA | ||
85 | # ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ | ||
86 | # include <AvailabilityMacros.h> | ||
87 | # endif | ||
88 | # if 99990000 <= MAC_OS_X_VERSION_MIN_REQUIRED | ||
89 | # define LSEEK_WORKS_BUT_IS_INCOMPATIBLE_WITH_GNU | ||
90 | # endif | ||
91 | #endif | ||
92 | #ifndef LSEEK_WORKS_BUT_IS_INCOMPATIBLE_WITH_GNU | ||
93 | #error "No need to work around the bug" | ||
94 | #endif | ||
95 | ]])], | ||
96 | [gl_cv_func_lseek_works_but_incompatible=yes], | ||
97 | [gl_cv_func_lseek_works_but_incompatible=no])]) | ||
98 | if test "$gl_cv_func_lseek_works_but_incompatible" = yes; then | ||
99 | REPLACE_LSEEK=1 | ||
100 | fi]) | ||
78 | ]) | 101 | ]) |
diff --git a/gl/m4/malloc.m4 b/gl/m4/malloc.m4 index 55402924..41a46937 100644 --- a/gl/m4/malloc.m4 +++ b/gl/m4/malloc.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # malloc.m4 serial 28 | 1 | # malloc.m4 |
2 | dnl Copyright (C) 2007, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 31 |
3 | dnl Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -16,7 +17,8 @@ AC_DEFUN([_AC_FUNC_MALLOC_IF], | |||
16 | [[#include <stdlib.h> | 17 | [[#include <stdlib.h> |
17 | ]], | 18 | ]], |
18 | [[void *p = malloc (0); | 19 | [[void *p = malloc (0); |
19 | int result = !p; | 20 | void * volatile vp = p; |
21 | int result = !vp; | ||
20 | free (p); | 22 | free (p); |
21 | return result;]]) | 23 | return result;]]) |
22 | ], | 24 | ], |
@@ -25,8 +27,8 @@ AC_DEFUN([_AC_FUNC_MALLOC_IF], | |||
25 | [case "$host_os" in | 27 | [case "$host_os" in |
26 | # Guess yes on platforms where we know the result. | 28 | # Guess yes on platforms where we know the result. |
27 | *-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \ | 29 | *-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \ |
28 | | gnu* | *-musl* | midnightbsd* \ | 30 | | gnu* | *-musl* | midipix* | midnightbsd* \ |
29 | | hpux* | solaris* | cygwin* | mingw* | msys* ) | 31 | | hpux* | solaris* | cygwin* | mingw* | windows* | msys* ) |
30 | ac_cv_func_malloc_0_nonnull="guessing yes" ;; | 32 | ac_cv_func_malloc_0_nonnull="guessing yes" ;; |
31 | # If we don't know, obey --enable-cross-guesses. | 33 | # If we don't know, obey --enable-cross-guesses. |
32 | *) ac_cv_func_malloc_0_nonnull="$gl_cross_guess_normal" ;; | 34 | *) ac_cv_func_malloc_0_nonnull="$gl_cross_guess_normal" ;; |
@@ -128,7 +130,7 @@ AC_DEFUN([gl_CHECK_MALLOC_POSIX], | |||
128 | dnl except on those platforms where we have seen 'test-malloc-gnu', | 130 | dnl except on those platforms where we have seen 'test-malloc-gnu', |
129 | dnl 'test-realloc-gnu', 'test-calloc-gnu' fail. | 131 | dnl 'test-realloc-gnu', 'test-calloc-gnu' fail. |
130 | case "$host_os" in | 132 | case "$host_os" in |
131 | mingw*) | 133 | mingw* | windows*) |
132 | gl_cv_func_malloc_posix=no ;; | 134 | gl_cv_func_malloc_posix=no ;; |
133 | irix* | solaris*) | 135 | irix* | solaris*) |
134 | dnl On IRIX 6.5, the three functions return NULL with errno unset | 136 | dnl On IRIX 6.5, the three functions return NULL with errno unset |
diff --git a/gl/m4/malloca.m4 b/gl/m4/malloca.m4 index 1d777ebe..9e09d22c 100644 --- a/gl/m4/malloca.m4 +++ b/gl/m4/malloca.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # malloca.m4 serial 2 | 1 | # malloca.m4 |
2 | dnl Copyright (C) 2003-2004, 2006-2007, 2009-2023 Free Software Foundation, | 2 | # serial 2 |
3 | dnl Copyright (C) 2003-2004, 2006-2007, 2009-2024 Free Software Foundation, | ||
3 | dnl Inc. | 4 | dnl Inc. |
4 | dnl This file is free software; the Free Software Foundation | 5 | dnl This file is free software; the Free Software Foundation |
5 | dnl gives unlimited permission to copy and/or distribute it, | 6 | dnl gives unlimited permission to copy and/or distribute it, |
diff --git a/gl/m4/math_h.m4 b/gl/m4/math_h.m4 index d2e90ff1..4b26c9e9 100644 --- a/gl/m4/math_h.m4 +++ b/gl/m4/math_h.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # math_h.m4 serial 125 | 1 | # math_h.m4 |
2 | dnl Copyright (C) 2007-2023 Free Software Foundation, Inc. | 2 | # serial 138 |
3 | dnl Copyright (C) 2007-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -42,15 +43,21 @@ AC_DEFUN_ONCE([gl_MATH_H], | |||
42 | cbrt cbrtf cbrtl ceilf ceill copysign copysignf copysignl cosf cosl coshf | 43 | cbrt cbrtf cbrtl ceilf ceill copysign copysignf copysignl cosf cosl coshf |
43 | expf expl exp2 exp2f exp2l expm1 expm1f expm1l | 44 | expf expl exp2 exp2f exp2l expm1 expm1f expm1l |
44 | fabsf fabsl floorf floorl fma fmaf fmal | 45 | fabsf fabsl floorf floorl fma fmaf fmal |
45 | fmod fmodf fmodl frexpf frexpl hypotf hypotl | 46 | fmod fmodf fmodl frexpf frexpl |
47 | getpayload getpayloadf getpayloadl | ||
48 | hypotf hypotl | ||
46 | ilogb ilogbf ilogbl | 49 | ilogb ilogbf ilogbl |
47 | ldexpf ldexpl | 50 | ldexpf ldexpl |
48 | log logf logl log10 log10f log10l log1p log1pf log1pl log2 log2f log2l | 51 | log logf logl log10 log10f log10l log1p log1pf log1pl log2 log2f log2l |
49 | logb logbf logbl | 52 | logb logbf logbl |
50 | modf modff modfl powf | 53 | modf modff modfl powf |
51 | remainder remainderf remainderl | 54 | remainder remainderf remainderl |
52 | rint rintf rintl round roundf roundl sinf sinl sinhf sqrtf sqrtl | 55 | rint rintf rintl round roundf roundl |
53 | tanf tanl tanhf trunc truncf truncl]) | 56 | setpayload setpayloadf setpayloadl |
57 | setpayloadsig setpayloadsigf setpayloadsigl | ||
58 | sinf sinl sinhf sqrtf sqrtl | ||
59 | tanf tanl tanhf totalorder totalorderf totalorderl totalordermag | ||
60 | totalordermagf totalordermagl trunc truncf truncl]) | ||
54 | ]) | 61 | ]) |
55 | 62 | ||
56 | # gl_MATH_MODULE_INDICATOR([modulename]) | 63 | # gl_MATH_MODULE_INDICATOR([modulename]) |
@@ -113,6 +120,9 @@ AC_DEFUN([gl_MATH_H_REQUIRE_DEFAULTS], | |||
113 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREXPF]) | 120 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREXPF]) |
114 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREXP]) | 121 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREXP]) |
115 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREXPL]) | 122 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREXPL]) |
123 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPAYLOAD]) | ||
124 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPAYLOADF]) | ||
125 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPAYLOADL]) | ||
116 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_HYPOT]) | 126 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_HYPOT]) |
117 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_HYPOTF]) | 127 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_HYPOTF]) |
118 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_HYPOTL]) | 128 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_HYPOTL]) |
@@ -125,6 +135,7 @@ AC_DEFUN([gl_MATH_H_REQUIRE_DEFAULTS], | |||
125 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISNANF]) | 135 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISNANF]) |
126 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISNAND]) | 136 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISNAND]) |
127 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISNANL]) | 137 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISNANL]) |
138 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LDEXP]) | ||
128 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LDEXPF]) | 139 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LDEXPF]) |
129 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LDEXPL]) | 140 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LDEXPL]) |
130 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG]) | 141 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG]) |
@@ -155,6 +166,12 @@ AC_DEFUN([gl_MATH_H_REQUIRE_DEFAULTS], | |||
155 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ROUND]) | 166 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ROUND]) |
156 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ROUNDF]) | 167 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ROUNDF]) |
157 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ROUNDL]) | 168 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ROUNDL]) |
169 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETPAYLOAD]) | ||
170 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETPAYLOADF]) | ||
171 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETPAYLOADL]) | ||
172 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETPAYLOADSIG]) | ||
173 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETPAYLOADSIGF]) | ||
174 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETPAYLOADSIGL]) | ||
158 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGNBIT]) | 175 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGNBIT]) |
159 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SINF]) | 176 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SINF]) |
160 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SINL]) | 177 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SINL]) |
@@ -164,6 +181,12 @@ AC_DEFUN([gl_MATH_H_REQUIRE_DEFAULTS], | |||
164 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TANF]) | 181 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TANF]) |
165 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TANL]) | 182 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TANL]) |
166 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TANHF]) | 183 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TANHF]) |
184 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TOTALORDER]) | ||
185 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TOTALORDERF]) | ||
186 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TOTALORDERL]) | ||
187 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TOTALORDERMAG]) | ||
188 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TOTALORDERMAGF]) | ||
189 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TOTALORDERMAGL]) | ||
167 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TRUNC]) | 190 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TRUNC]) |
168 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TRUNCF]) | 191 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TRUNCF]) |
169 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TRUNCL]) | 192 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TRUNCL]) |
@@ -209,6 +232,9 @@ AC_DEFUN([gl_MATH_H_DEFAULTS], | |||
209 | HAVE_FMODF=1; AC_SUBST([HAVE_FMODF]) | 232 | HAVE_FMODF=1; AC_SUBST([HAVE_FMODF]) |
210 | HAVE_FMODL=1; AC_SUBST([HAVE_FMODL]) | 233 | HAVE_FMODL=1; AC_SUBST([HAVE_FMODL]) |
211 | HAVE_FREXPF=1; AC_SUBST([HAVE_FREXPF]) | 234 | HAVE_FREXPF=1; AC_SUBST([HAVE_FREXPF]) |
235 | HAVE_GETPAYLOAD=1; AC_SUBST([HAVE_GETPAYLOAD]) | ||
236 | HAVE_GETPAYLOADF=1; AC_SUBST([HAVE_GETPAYLOADF]) | ||
237 | HAVE_GETPAYLOADL=1; AC_SUBST([HAVE_GETPAYLOADL]) | ||
212 | HAVE_HYPOTF=1; AC_SUBST([HAVE_HYPOTF]) | 238 | HAVE_HYPOTF=1; AC_SUBST([HAVE_HYPOTF]) |
213 | HAVE_HYPOTL=1; AC_SUBST([HAVE_HYPOTL]) | 239 | HAVE_HYPOTL=1; AC_SUBST([HAVE_HYPOTL]) |
214 | HAVE_ILOGB=1; AC_SUBST([HAVE_ILOGB]) | 240 | HAVE_ILOGB=1; AC_SUBST([HAVE_ILOGB]) |
@@ -234,6 +260,12 @@ AC_DEFUN([gl_MATH_H_DEFAULTS], | |||
234 | HAVE_REMAINDERF=1; AC_SUBST([HAVE_REMAINDERF]) | 260 | HAVE_REMAINDERF=1; AC_SUBST([HAVE_REMAINDERF]) |
235 | HAVE_RINT=1; AC_SUBST([HAVE_RINT]) | 261 | HAVE_RINT=1; AC_SUBST([HAVE_RINT]) |
236 | HAVE_RINTL=1; AC_SUBST([HAVE_RINTL]) | 262 | HAVE_RINTL=1; AC_SUBST([HAVE_RINTL]) |
263 | HAVE_SETPAYLOAD=1; AC_SUBST([HAVE_SETPAYLOAD]) | ||
264 | HAVE_SETPAYLOADF=1; AC_SUBST([HAVE_SETPAYLOADF]) | ||
265 | HAVE_SETPAYLOADL=1; AC_SUBST([HAVE_SETPAYLOADL]) | ||
266 | HAVE_SETPAYLOADSIG=1; AC_SUBST([HAVE_SETPAYLOADSIG]) | ||
267 | HAVE_SETPAYLOADSIGF=1; AC_SUBST([HAVE_SETPAYLOADSIGF]) | ||
268 | HAVE_SETPAYLOADSIGL=1; AC_SUBST([HAVE_SETPAYLOADSIGL]) | ||
237 | HAVE_SINF=1; AC_SUBST([HAVE_SINF]) | 269 | HAVE_SINF=1; AC_SUBST([HAVE_SINF]) |
238 | HAVE_SINL=1; AC_SUBST([HAVE_SINL]) | 270 | HAVE_SINL=1; AC_SUBST([HAVE_SINL]) |
239 | HAVE_SINHF=1; AC_SUBST([HAVE_SINHF]) | 271 | HAVE_SINHF=1; AC_SUBST([HAVE_SINHF]) |
@@ -242,6 +274,12 @@ AC_DEFUN([gl_MATH_H_DEFAULTS], | |||
242 | HAVE_TANF=1; AC_SUBST([HAVE_TANF]) | 274 | HAVE_TANF=1; AC_SUBST([HAVE_TANF]) |
243 | HAVE_TANL=1; AC_SUBST([HAVE_TANL]) | 275 | HAVE_TANL=1; AC_SUBST([HAVE_TANL]) |
244 | HAVE_TANHF=1; AC_SUBST([HAVE_TANHF]) | 276 | HAVE_TANHF=1; AC_SUBST([HAVE_TANHF]) |
277 | HAVE_TOTALORDER=1; AC_SUBST([HAVE_TOTALORDER]) | ||
278 | HAVE_TOTALORDERF=1; AC_SUBST([HAVE_TOTALORDERF]) | ||
279 | HAVE_TOTALORDERL=1; AC_SUBST([HAVE_TOTALORDERL]) | ||
280 | HAVE_TOTALORDERMAG=1; AC_SUBST([HAVE_TOTALORDERMAG]) | ||
281 | HAVE_TOTALORDERMAGF=1; AC_SUBST([HAVE_TOTALORDERMAGF]) | ||
282 | HAVE_TOTALORDERMAGL=1; AC_SUBST([HAVE_TOTALORDERMAGL]) | ||
245 | HAVE_DECL_ACOSL=1; AC_SUBST([HAVE_DECL_ACOSL]) | 283 | HAVE_DECL_ACOSL=1; AC_SUBST([HAVE_DECL_ACOSL]) |
246 | HAVE_DECL_ASINL=1; AC_SUBST([HAVE_DECL_ASINL]) | 284 | HAVE_DECL_ASINL=1; AC_SUBST([HAVE_DECL_ASINL]) |
247 | HAVE_DECL_ATANL=1; AC_SUBST([HAVE_DECL_ATANL]) | 285 | HAVE_DECL_ATANL=1; AC_SUBST([HAVE_DECL_ATANL]) |
@@ -309,6 +347,9 @@ AC_DEFUN([gl_MATH_H_DEFAULTS], | |||
309 | REPLACE_FREXPF=0; AC_SUBST([REPLACE_FREXPF]) | 347 | REPLACE_FREXPF=0; AC_SUBST([REPLACE_FREXPF]) |
310 | REPLACE_FREXP=0; AC_SUBST([REPLACE_FREXP]) | 348 | REPLACE_FREXP=0; AC_SUBST([REPLACE_FREXP]) |
311 | REPLACE_FREXPL=0; AC_SUBST([REPLACE_FREXPL]) | 349 | REPLACE_FREXPL=0; AC_SUBST([REPLACE_FREXPL]) |
350 | REPLACE_GETPAYLOAD=0; AC_SUBST([REPLACE_GETPAYLOAD]) | ||
351 | REPLACE_GETPAYLOADF=0; AC_SUBST([REPLACE_GETPAYLOADF]) | ||
352 | REPLACE_GETPAYLOADL=0; AC_SUBST([REPLACE_GETPAYLOADL]) | ||
312 | REPLACE_HUGE_VAL=0; AC_SUBST([REPLACE_HUGE_VAL]) | 353 | REPLACE_HUGE_VAL=0; AC_SUBST([REPLACE_HUGE_VAL]) |
313 | REPLACE_HYPOT=0; AC_SUBST([REPLACE_HYPOT]) | 354 | REPLACE_HYPOT=0; AC_SUBST([REPLACE_HYPOT]) |
314 | REPLACE_HYPOTF=0; AC_SUBST([REPLACE_HYPOTF]) | 355 | REPLACE_HYPOTF=0; AC_SUBST([REPLACE_HYPOTF]) |
@@ -319,6 +360,7 @@ AC_DEFUN([gl_MATH_H_DEFAULTS], | |||
319 | REPLACE_ISFINITE=0; AC_SUBST([REPLACE_ISFINITE]) | 360 | REPLACE_ISFINITE=0; AC_SUBST([REPLACE_ISFINITE]) |
320 | REPLACE_ISINF=0; AC_SUBST([REPLACE_ISINF]) | 361 | REPLACE_ISINF=0; AC_SUBST([REPLACE_ISINF]) |
321 | REPLACE_ISNAN=0; AC_SUBST([REPLACE_ISNAN]) | 362 | REPLACE_ISNAN=0; AC_SUBST([REPLACE_ISNAN]) |
363 | REPLACE_LDEXP=0; AC_SUBST([REPLACE_LDEXP]) | ||
322 | REPLACE_LDEXPL=0; AC_SUBST([REPLACE_LDEXPL]) | 364 | REPLACE_LDEXPL=0; AC_SUBST([REPLACE_LDEXPL]) |
323 | REPLACE_LOG=0; AC_SUBST([REPLACE_LOG]) | 365 | REPLACE_LOG=0; AC_SUBST([REPLACE_LOG]) |
324 | REPLACE_LOGF=0; AC_SUBST([REPLACE_LOGF]) | 366 | REPLACE_LOGF=0; AC_SUBST([REPLACE_LOGF]) |
@@ -354,6 +396,12 @@ AC_DEFUN([gl_MATH_H_DEFAULTS], | |||
354 | REPLACE_SQRTL=0; AC_SUBST([REPLACE_SQRTL]) | 396 | REPLACE_SQRTL=0; AC_SUBST([REPLACE_SQRTL]) |
355 | REPLACE_TANF=0; AC_SUBST([REPLACE_TANF]) | 397 | REPLACE_TANF=0; AC_SUBST([REPLACE_TANF]) |
356 | REPLACE_TANHF=0; AC_SUBST([REPLACE_TANHF]) | 398 | REPLACE_TANHF=0; AC_SUBST([REPLACE_TANHF]) |
399 | REPLACE_TOTALORDER=0; AC_SUBST([REPLACE_TOTALORDER]) | ||
400 | REPLACE_TOTALORDERF=0; AC_SUBST([REPLACE_TOTALORDERF]) | ||
401 | REPLACE_TOTALORDERL=0; AC_SUBST([REPLACE_TOTALORDERL]) | ||
402 | REPLACE_TOTALORDERMAG=0; AC_SUBST([REPLACE_TOTALORDERMAG]) | ||
403 | REPLACE_TOTALORDERMAGF=0; AC_SUBST([REPLACE_TOTALORDERMAGF]) | ||
404 | REPLACE_TOTALORDERMAGL=0; AC_SUBST([REPLACE_TOTALORDERMAGL]) | ||
357 | REPLACE_TRUNC=0; AC_SUBST([REPLACE_TRUNC]) | 405 | REPLACE_TRUNC=0; AC_SUBST([REPLACE_TRUNC]) |
358 | REPLACE_TRUNCF=0; AC_SUBST([REPLACE_TRUNCF]) | 406 | REPLACE_TRUNCF=0; AC_SUBST([REPLACE_TRUNCF]) |
359 | REPLACE_TRUNCL=0; AC_SUBST([REPLACE_TRUNCL]) | 407 | REPLACE_TRUNCL=0; AC_SUBST([REPLACE_TRUNCL]) |
@@ -364,7 +412,7 @@ AC_DEFUN([gl_MATH_H_DEFAULTS], | |||
364 | # Sets variable HAVE_SAME_LONG_DOUBLE_AS_DOUBLE to 0 or 1, and defines | 412 | # Sets variable HAVE_SAME_LONG_DOUBLE_AS_DOUBLE to 0 or 1, and defines |
365 | # HAVE_SAME_LONG_DOUBLE_AS_DOUBLE accordingly. | 413 | # HAVE_SAME_LONG_DOUBLE_AS_DOUBLE accordingly. |
366 | # The currently known platforms where this is the case are: | 414 | # The currently known platforms where this is the case are: |
367 | # Linux/HPPA, Minix 3.1.8, AIX 5, AIX 6 and 7 with xlc, MSVC 9. | 415 | # Linux/HPPA, NetBSD/sparc32, Minix 3.1.8, AIX 5, AIX 6 and 7 with xlc, MSVC 9. |
368 | AC_DEFUN([gl_LONG_DOUBLE_VS_DOUBLE], | 416 | AC_DEFUN([gl_LONG_DOUBLE_VS_DOUBLE], |
369 | [ | 417 | [ |
370 | AC_CACHE_CHECK([whether long double and double are the same], | 418 | AC_CACHE_CHECK([whether long double and double are the same], |
diff --git a/gl/m4/mbrtowc.m4 b/gl/m4/mbrtowc.m4 index bb393041..62c4fdb3 100644 --- a/gl/m4/mbrtowc.m4 +++ b/gl/m4/mbrtowc.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # mbrtowc.m4 serial 38 -*- coding: utf-8 -*- | 1 | # mbrtowc.m4 |
2 | dnl Copyright (C) 2001-2002, 2004-2005, 2008-2023 Free Software Foundation, | 2 | # serial 44 -*- coding: utf-8 -*- |
3 | dnl Copyright (C) 2001-2002, 2004-2005, 2008-2024 Free Software Foundation, | ||
3 | dnl Inc. | 4 | dnl Inc. |
4 | dnl This file is free software; the Free Software Foundation | 5 | dnl This file is free software; the Free Software Foundation |
5 | dnl gives unlimited permission to copy and/or distribute it, | 6 | dnl gives unlimited permission to copy and/or distribute it, |
@@ -91,20 +92,25 @@ AC_DEFUN([gl_FUNC_MBRTOWC], | |||
91 | fi | 92 | fi |
92 | if test $REPLACE_MBSTATE_T = 1; then | 93 | if test $REPLACE_MBSTATE_T = 1; then |
93 | case "$host_os" in | 94 | case "$host_os" in |
94 | mingw*) LIB_MBRTOWC= ;; | 95 | mingw* | windows*) |
96 | MBRTOWC_LIB= | ||
97 | ;; | ||
95 | *) | 98 | *) |
96 | gl_WEAK_SYMBOLS | 99 | gl_WEAK_SYMBOLS |
97 | case "$gl_cv_have_weak" in | 100 | case "$gl_cv_have_weak" in |
98 | *yes) LIB_MBRTOWC= ;; | 101 | *yes) MBRTOWC_LIB= ;; |
99 | *) LIB_MBRTOWC="$LIBPTHREAD" ;; | 102 | *) MBRTOWC_LIB="$LIBPTHREAD" ;; |
100 | esac | 103 | esac |
101 | ;; | 104 | ;; |
102 | esac | 105 | esac |
103 | else | 106 | else |
104 | LIB_MBRTOWC= | 107 | MBRTOWC_LIB= |
105 | fi | 108 | fi |
106 | dnl LIB_MBRTOWC is expected to be '-pthread' or '-lpthread' on AIX | 109 | dnl MBRTOWC_LIB is expected to be '-pthread' or '-lpthread' on AIX |
107 | dnl with gcc or xlc, and empty otherwise. | 110 | dnl with gcc or xlc, and empty otherwise. |
111 | AC_SUBST([MBRTOWC_LIB]) | ||
112 | dnl For backward compatibility. | ||
113 | LIB_MBRTOWC="$MBRTOWC_LIB" | ||
108 | AC_SUBST([LIB_MBRTOWC]) | 114 | AC_SUBST([LIB_MBRTOWC]) |
109 | ]) | 115 | ]) |
110 | 116 | ||
@@ -114,7 +120,7 @@ dnl Result is REPLACE_MBSTATE_T. | |||
114 | dnl When this is set to 1, we replace both mbsinit() and mbrtowc(), in order to | 120 | dnl When this is set to 1, we replace both mbsinit() and mbrtowc(), in order to |
115 | dnl avoid inconsistencies. | 121 | dnl avoid inconsistencies. |
116 | 122 | ||
117 | AC_DEFUN([gl_MBSTATE_T_BROKEN], | 123 | AC_DEFUN_ONCE([gl_MBSTATE_T_BROKEN], |
118 | [ | 124 | [ |
119 | AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) | 125 | AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) |
120 | AC_REQUIRE([AC_CANONICAL_HOST]) | 126 | AC_REQUIRE([AC_CANONICAL_HOST]) |
@@ -126,7 +132,7 @@ AC_DEFUN([gl_MBSTATE_T_BROKEN], | |||
126 | dnl to override it, even if - like on MSVC - mbsinit() is only defined as | 132 | dnl to override it, even if - like on MSVC - mbsinit() is only defined as |
127 | dnl an inline function, not as a global function. | 133 | dnl an inline function, not as a global function. |
128 | if case "$host_os" in | 134 | if case "$host_os" in |
129 | mingw*) true ;; | 135 | mingw* | windows*) true ;; |
130 | *) test $ac_cv_func_mbsinit = yes ;; | 136 | *) test $ac_cv_func_mbsinit = yes ;; |
131 | esac \ | 137 | esac \ |
132 | && test $ac_cv_func_mbrtowc = yes; then | 138 | && test $ac_cv_func_mbrtowc = yes; then |
@@ -408,14 +414,16 @@ AC_DEFUN([gl_MBRTOWC_RETVAL], | |||
408 | dnl is present. | 414 | dnl is present. |
409 | changequote(,)dnl | 415 | changequote(,)dnl |
410 | case "$host_os" in | 416 | case "$host_os" in |
411 | # Guess no on HP-UX, Solaris, native Windows. | 417 | # Guess no on HP-UX, Solaris, native Windows. |
412 | hpux* | solaris* | mingw*) gl_cv_func_mbrtowc_retval="guessing no" ;; | 418 | hpux* | solaris* | mingw* | windows*) |
413 | # Guess yes otherwise. | 419 | gl_cv_func_mbrtowc_retval="guessing no" ;; |
414 | *) gl_cv_func_mbrtowc_retval="guessing yes" ;; | 420 | # Guess yes otherwise. |
421 | *) | ||
422 | gl_cv_func_mbrtowc_retval="guessing yes" ;; | ||
415 | esac | 423 | esac |
416 | changequote([,])dnl | 424 | changequote([,])dnl |
417 | if test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none \ | 425 | if test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none \ |
418 | || { case "$host_os" in mingw*) true;; *) false;; esac; }; then | 426 | || { case "$host_os" in mingw* | windows*) true;; *) false;; esac; }; then |
419 | AC_RUN_IFELSE( | 427 | AC_RUN_IFELSE( |
420 | [AC_LANG_SOURCE([[ | 428 | [AC_LANG_SOURCE([[ |
421 | #include <locale.h> | 429 | #include <locale.h> |
@@ -426,7 +434,8 @@ int main () | |||
426 | int result = 0; | 434 | int result = 0; |
427 | int found_some_locale = 0; | 435 | int found_some_locale = 0; |
428 | /* This fails on Solaris. */ | 436 | /* This fails on Solaris. */ |
429 | if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) | 437 | if (strcmp ("$LOCALE_FR_UTF8", "none") != 0 |
438 | && setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) | ||
430 | { | 439 | { |
431 | char input[] = "B\303\274\303\237er"; /* "Büßer" */ | 440 | char input[] = "B\303\274\303\237er"; /* "Büßer" */ |
432 | mbstate_t state; | 441 | mbstate_t state; |
@@ -442,7 +451,8 @@ int main () | |||
442 | found_some_locale = 1; | 451 | found_some_locale = 1; |
443 | } | 452 | } |
444 | /* This fails on HP-UX 11.11. */ | 453 | /* This fails on HP-UX 11.11. */ |
445 | if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) | 454 | if (strcmp ("$LOCALE_JA", "none") != 0 |
455 | && setlocale (LC_ALL, "$LOCALE_JA") != NULL) | ||
446 | { | 456 | { |
447 | char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ | 457 | char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ |
448 | mbstate_t state; | 458 | mbstate_t state; |
@@ -577,13 +587,13 @@ AC_DEFUN([gl_MBRTOWC_STORES_INCOMPLETE], | |||
577 | dnl is present. | 587 | dnl is present. |
578 | changequote(,)dnl | 588 | changequote(,)dnl |
579 | case "$host_os" in | 589 | case "$host_os" in |
580 | # Guess yes on native Windows. | 590 | # Guess yes on native Windows. |
581 | mingw*) gl_cv_func_mbrtowc_stores_incomplete="guessing yes" ;; | 591 | mingw* | windows*) gl_cv_func_mbrtowc_stores_incomplete="guessing yes" ;; |
582 | *) gl_cv_func_mbrtowc_stores_incomplete="guessing no" ;; | 592 | *) gl_cv_func_mbrtowc_stores_incomplete="guessing no" ;; |
583 | esac | 593 | esac |
584 | changequote([,])dnl | 594 | changequote([,])dnl |
585 | case "$host_os" in | 595 | case "$host_os" in |
586 | mingw*) | 596 | mingw* | windows*) |
587 | AC_RUN_IFELSE( | 597 | AC_RUN_IFELSE( |
588 | [AC_LANG_SOURCE([[ | 598 | [AC_LANG_SOURCE([[ |
589 | #include <locale.h> | 599 | #include <locale.h> |
@@ -677,31 +687,28 @@ AC_DEFUN([gl_MBRTOWC_EMPTY_INPUT], | |||
677 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | 687 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles |
678 | AC_CACHE_CHECK([whether mbrtowc works on empty input], | 688 | AC_CACHE_CHECK([whether mbrtowc works on empty input], |
679 | [gl_cv_func_mbrtowc_empty_input], | 689 | [gl_cv_func_mbrtowc_empty_input], |
680 | [ | 690 | [AC_RUN_IFELSE( |
681 | dnl Initial guess, used when cross-compiling or when no suitable locale | 691 | [AC_LANG_SOURCE([[ |
682 | dnl is present. | 692 | #include <wchar.h> |
683 | changequote(,)dnl | 693 | static wchar_t wc; |
684 | case "$host_os" in | 694 | static mbstate_t mbs; |
685 | # Guess no on AIX and glibc systems. | 695 | int |
686 | aix* | *-gnu* | gnu*) gl_cv_func_mbrtowc_empty_input="guessing no" ;; | 696 | main (void) |
687 | # Guess yes on native Windows. | 697 | { |
688 | mingw*) gl_cv_func_mbrtowc_empty_input="guessing yes" ;; | 698 | return mbrtowc (&wc, "", 0, &mbs) != (size_t) -2; |
689 | *) gl_cv_func_mbrtowc_empty_input="guessing yes" ;; | 699 | }]])], |
690 | esac | 700 | [gl_cv_func_mbrtowc_empty_input=yes], |
691 | changequote([,])dnl | 701 | [gl_cv_func_mbrtowc_empty_input=no], |
692 | AC_RUN_IFELSE( | 702 | [case "$host_os" in |
693 | [AC_LANG_SOURCE([[ | 703 | # Guess no on AIX and glibc systems. |
694 | #include <wchar.h> | 704 | aix* | *-gnu* | gnu*) gl_cv_func_mbrtowc_empty_input="guessing no" ;; |
695 | static wchar_t wc; | 705 | # Guess no on Android. |
696 | static mbstate_t mbs; | 706 | linux*-android*) gl_cv_func_mbrtowc_empty_input="guessing no" ;; |
697 | int | 707 | # Guess no on native Windows. |
698 | main (void) | 708 | mingw* | windows*) gl_cv_func_mbrtowc_empty_input="guessing no" ;; |
699 | { | 709 | *) gl_cv_func_mbrtowc_empty_input="guessing yes" ;; |
700 | return mbrtowc (&wc, "", 0, &mbs) != (size_t) -2; | 710 | esac |
701 | }]])], | 711 | ]) |
702 | [gl_cv_func_mbrtowc_empty_input=yes], | ||
703 | [gl_cv_func_mbrtowc_empty_input=no], | ||
704 | [:]) | ||
705 | ]) | 712 | ]) |
706 | ]) | 713 | ]) |
707 | 714 | ||
@@ -709,18 +716,17 @@ dnl Test whether mbrtowc reports encoding errors in the C locale. | |||
709 | dnl Although POSIX was never intended to allow this, the GNU C Library | 716 | dnl Although POSIX was never intended to allow this, the GNU C Library |
710 | dnl and other implementations do it. See: | 717 | dnl and other implementations do it. See: |
711 | dnl https://sourceware.org/bugzilla/show_bug.cgi?id=19932 | 718 | dnl https://sourceware.org/bugzilla/show_bug.cgi?id=19932 |
719 | dnl POSIX has now clarified it: | ||
720 | dnl <https://pubs.opengroup.org/onlinepubs/9699919799/functions/mbrtowc.html> | ||
721 | dnl says: "In the POSIX locale an [EILSEQ] error cannot occur since all byte | ||
722 | dnl values are valid characters." | ||
712 | 723 | ||
713 | AC_DEFUN([gl_MBRTOWC_C_LOCALE], | 724 | AC_DEFUN([gl_MBRTOWC_C_LOCALE], |
714 | [ | 725 | [ |
715 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | 726 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles |
716 | AC_CACHE_CHECK([whether the C locale is free of encoding errors], | 727 | AC_CACHE_CHECK([whether the C locale is free of encoding errors], |
717 | [gl_cv_func_mbrtowc_C_locale_sans_EILSEQ], | 728 | [gl_cv_func_mbrtowc_C_locale_sans_EILSEQ], |
718 | [ | 729 | [AC_RUN_IFELSE( |
719 | dnl Initial guess, used when cross-compiling or when no suitable locale | ||
720 | dnl is present. | ||
721 | gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="$gl_cross_guess_normal" | ||
722 | |||
723 | AC_RUN_IFELSE( | ||
724 | [AC_LANG_PROGRAM( | 730 | [AC_LANG_PROGRAM( |
725 | [[#include <limits.h> | 731 | [[#include <limits.h> |
726 | #include <locale.h> | 732 | #include <locale.h> |
@@ -741,13 +747,14 @@ AC_DEFUN([gl_MBRTOWC_C_LOCALE], | |||
741 | } | 747 | } |
742 | return 0; | 748 | return 0; |
743 | ]])], | 749 | ]])], |
744 | [gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=yes], | 750 | [gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=yes], |
745 | [gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=no], | 751 | [gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=no], |
746 | [case "$host_os" in | 752 | [case "$host_os" in |
747 | # Guess yes on native Windows. | 753 | # Guess yes on native Windows. |
748 | mingw*) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="guessing yes" ;; | 754 | mingw* | windows*) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="guessing yes" ;; |
749 | esac | 755 | *) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="$gl_cross_guess_normal" ;; |
750 | ]) | 756 | esac |
757 | ]) | ||
751 | ]) | 758 | ]) |
752 | ]) | 759 | ]) |
753 | 760 | ||
diff --git a/gl/m4/mbsinit.m4 b/gl/m4/mbsinit.m4 index c388a8b9..10c86ba9 100644 --- a/gl/m4/mbsinit.m4 +++ b/gl/m4/mbsinit.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # mbsinit.m4 serial 9 | 1 | # mbsinit.m4 |
2 | dnl Copyright (C) 2008, 2010-2023 Free Software Foundation, Inc. | 2 | # serial 10 |
3 | dnl Copyright (C) 2008, 2010-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -32,7 +33,7 @@ AC_DEFUN([gl_FUNC_MBSINIT], | |||
32 | dnl states produced by mbrtowc() for an incomplete multibyte character | 33 | dnl states produced by mbrtowc() for an incomplete multibyte character |
33 | dnl in multibyte locales. | 34 | dnl in multibyte locales. |
34 | case "$host_os" in | 35 | case "$host_os" in |
35 | mingw*) REPLACE_MBSINIT=1 ;; | 36 | mingw* | windows*) REPLACE_MBSINIT=1 ;; |
36 | esac | 37 | esac |
37 | fi | 38 | fi |
38 | fi | 39 | fi |
diff --git a/gl/m4/mbstate_t.m4 b/gl/m4/mbstate_t.m4 index dcd66b96..66d65cd7 100644 --- a/gl/m4/mbstate_t.m4 +++ b/gl/m4/mbstate_t.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # mbstate_t.m4 serial 14 | 1 | # mbstate_t.m4 |
2 | dnl Copyright (C) 2000-2002, 2008-2023 Free Software Foundation, Inc. | 2 | # serial 14 |
3 | dnl Copyright (C) 2000-2002, 2008-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/mbtowc.m4 b/gl/m4/mbtowc.m4 index 7823be0e..603b0c1a 100644 --- a/gl/m4/mbtowc.m4 +++ b/gl/m4/mbtowc.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # mbtowc.m4 serial 3 | 1 | # mbtowc.m4 |
2 | dnl Copyright (C) 2011-2023 Free Software Foundation, Inc. | 2 | # serial 5 |
3 | dnl Copyright (C) 2011-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -8,9 +9,12 @@ AC_DEFUN([gl_FUNC_MBTOWC], | |||
8 | [ | 9 | [ |
9 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) | 10 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) |
10 | 11 | ||
11 | AC_CHECK_FUNCS([mbtowc]) | 12 | gl_CHECK_FUNCS_ANDROID([mbtowc], [[#include <stdlib.h>]]) |
12 | if test $ac_cv_func_mbtowc = no; then | 13 | if test $ac_cv_func_mbtowc = no; then |
13 | HAVE_MBTOWC=0 | 14 | HAVE_MBTOWC=0 |
15 | case "$gl_cv_onwards_func_mbtowc" in | ||
16 | future*) REPLACE_MBTOWC=1 ;; | ||
17 | esac | ||
14 | else | 18 | else |
15 | if false; then | 19 | if false; then |
16 | REPLACE_MBTOWC=1 | 20 | REPLACE_MBTOWC=1 |
diff --git a/gl/m4/memchr.m4 b/gl/m4/memchr.m4 index 4f1aed01..346a2882 100644 --- a/gl/m4/memchr.m4 +++ b/gl/m4/memchr.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # memchr.m4 serial 18 | 1 | # memchr.m4 |
2 | dnl Copyright (C) 2002-2004, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 19 |
3 | dnl Copyright (C) 2002-2004, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -85,12 +86,12 @@ AC_DEFUN_ONCE([gl_FUNC_MEMCHR], | |||
85 | [gl_cv_func_memchr_works=yes], | 86 | [gl_cv_func_memchr_works=yes], |
86 | [gl_cv_func_memchr_works=no], | 87 | [gl_cv_func_memchr_works=no], |
87 | [case "$host_os" in | 88 | [case "$host_os" in |
88 | # Guess no on Android. | 89 | # Guess no on Android. |
89 | linux*-android*) gl_cv_func_memchr_works="guessing no" ;; | 90 | linux*-android*) gl_cv_func_memchr_works="guessing no" ;; |
90 | # Guess yes on native Windows. | 91 | # Guess yes on native Windows. |
91 | mingw*) gl_cv_func_memchr_works="guessing yes" ;; | 92 | mingw* | windows*) gl_cv_func_memchr_works="guessing yes" ;; |
92 | # If we don't know, obey --enable-cross-guesses. | 93 | # If we don't know, obey --enable-cross-guesses. |
93 | *) gl_cv_func_memchr_works="$gl_cross_guess_normal" ;; | 94 | *) gl_cv_func_memchr_works="$gl_cross_guess_normal" ;; |
94 | esac | 95 | esac |
95 | ]) | 96 | ]) |
96 | ]) | 97 | ]) |
diff --git a/gl/m4/minmax.m4 b/gl/m4/minmax.m4 index fd09846f..bc7d0c34 100644 --- a/gl/m4/minmax.m4 +++ b/gl/m4/minmax.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # minmax.m4 serial 4 | 1 | # minmax.m4 |
2 | dnl Copyright (C) 2005, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 4 |
3 | dnl Copyright (C) 2005, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/mktime.m4 b/gl/m4/mktime.m4 index e9d31f35..85c52454 100644 --- a/gl/m4/mktime.m4 +++ b/gl/m4/mktime.m4 | |||
@@ -1,6 +1,6 @@ | |||
1 | # serial 37 | 1 | # mktime.m4 |
2 | dnl Copyright (C) 2002-2003, 2005-2007, 2009-2023 Free Software Foundation, | 2 | # serial 39 |
3 | dnl Inc. | 3 | dnl Copyright (C) 2002-2003, 2005-2007, 2009-2024 Free Software Foundation, Inc. |
4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -264,9 +264,9 @@ main () | |||
264 | [gl_cv_func_working_mktime=yes], | 264 | [gl_cv_func_working_mktime=yes], |
265 | [gl_cv_func_working_mktime=no], | 265 | [gl_cv_func_working_mktime=no], |
266 | [case "$host_os" in | 266 | [case "$host_os" in |
267 | # Guess no on native Windows. | 267 | # Guess no on native Windows. |
268 | mingw*) gl_cv_func_working_mktime="guessing no" ;; | 268 | mingw* | windows*) gl_cv_func_working_mktime="guessing no" ;; |
269 | *) gl_cv_func_working_mktime="$gl_cross_guess_normal" ;; | 269 | *) gl_cv_func_working_mktime="$gl_cross_guess_normal" ;; |
270 | esac | 270 | esac |
271 | ]) | 271 | ]) |
272 | fi | 272 | fi |
@@ -280,7 +280,6 @@ AC_DEFUN([gl_FUNC_MKTIME], | |||
280 | AC_REQUIRE([AC_CANONICAL_HOST]) | 280 | AC_REQUIRE([AC_CANONICAL_HOST]) |
281 | AC_REQUIRE([gl_FUNC_MKTIME_WORKS]) | 281 | AC_REQUIRE([gl_FUNC_MKTIME_WORKS]) |
282 | 282 | ||
283 | REPLACE_MKTIME=0 | ||
284 | if test "$gl_cv_func_working_mktime" != yes; then | 283 | if test "$gl_cv_func_working_mktime" != yes; then |
285 | REPLACE_MKTIME=1 | 284 | REPLACE_MKTIME=1 |
286 | AC_DEFINE([NEED_MKTIME_WORKING], [1], | 285 | AC_DEFINE([NEED_MKTIME_WORKING], [1], |
@@ -288,7 +287,7 @@ AC_DEFUN([gl_FUNC_MKTIME], | |||
288 | with the algorithmic workarounds.]) | 287 | with the algorithmic workarounds.]) |
289 | fi | 288 | fi |
290 | case "$host_os" in | 289 | case "$host_os" in |
291 | mingw*) | 290 | mingw* | windows*) |
292 | REPLACE_MKTIME=1 | 291 | REPLACE_MKTIME=1 |
293 | AC_DEFINE([NEED_MKTIME_WINDOWS], [1], | 292 | AC_DEFINE([NEED_MKTIME_WINDOWS], [1], |
294 | [Define if the compilation of mktime.c should define 'mktime' | 293 | [Define if the compilation of mktime.c should define 'mktime' |
diff --git a/gl/m4/mmap-anon.m4 b/gl/m4/mmap-anon.m4 index d07d26e4..61ca0120 100644 --- a/gl/m4/mmap-anon.m4 +++ b/gl/m4/mmap-anon.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # mmap-anon.m4 serial 12 | 1 | # mmap-anon.m4 |
2 | dnl Copyright (C) 2005, 2007, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 12 |
3 | dnl Copyright (C) 2005, 2007, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/mode_t.m4 b/gl/m4/mode_t.m4 index 82197c02..0d5c2808 100644 --- a/gl/m4/mode_t.m4 +++ b/gl/m4/mode_t.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # mode_t.m4 serial 2 | 1 | # mode_t.m4 |
2 | dnl Copyright (C) 2009-2023 Free Software Foundation, Inc. | 2 | # serial 2 |
3 | dnl Copyright (C) 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/mountlist.m4 b/gl/m4/mountlist.m4 index a9b4edb9..ff414e66 100644 --- a/gl/m4/mountlist.m4 +++ b/gl/m4/mountlist.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # serial 15 | 1 | # mountlist.m4 |
2 | dnl Copyright (C) 2002-2006, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 17 |
3 | dnl Copyright (C) 2002-2006, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -106,7 +107,18 @@ $ac_includes_default | |||
106 | [Define if there is a function named getmntent for reading the list | 107 | [Define if there is a function named getmntent for reading the list |
107 | of mounted file systems, and that function takes a single argument. | 108 | of mounted file systems, and that function takes a single argument. |
108 | (4.3BSD, SunOS, HP-UX, Irix)]) | 109 | (4.3BSD, SunOS, HP-UX, Irix)]) |
109 | AC_CHECK_FUNCS([setmntent endmntent hasmntopt]) | 110 | gl_CHECK_FUNCS_ANDROID([setmntent], |
111 | [[#include <stdio.h> | ||
112 | #include <mntent.h> | ||
113 | ]]) | ||
114 | gl_CHECK_FUNCS_ANDROID([endmntent], | ||
115 | [[#include <stdio.h> | ||
116 | #include <mntent.h> | ||
117 | ]]) | ||
118 | gl_CHECK_FUNCS_ANDROID([hasmntopt], | ||
119 | [[#include <stdio.h> | ||
120 | #include <mntent.h> | ||
121 | ]]) | ||
110 | fi | 122 | fi |
111 | fi | 123 | fi |
112 | 124 | ||
diff --git a/gl/m4/msvc-inval.m4 b/gl/m4/msvc-inval.m4 index 8d9d21b5..7919ff12 100644 --- a/gl/m4/msvc-inval.m4 +++ b/gl/m4/msvc-inval.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # msvc-inval.m4 serial 1 | 1 | # msvc-inval.m4 |
2 | dnl Copyright (C) 2011-2023 Free Software Foundation, Inc. | 2 | # serial 1 |
3 | dnl Copyright (C) 2011-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/msvc-nothrow.m4 b/gl/m4/msvc-nothrow.m4 index 0263e490..007c7620 100644 --- a/gl/m4/msvc-nothrow.m4 +++ b/gl/m4/msvc-nothrow.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # msvc-nothrow.m4 serial 1 | 1 | # msvc-nothrow.m4 |
2 | dnl Copyright (C) 2011-2023 Free Software Foundation, Inc. | 2 | # serial 1 |
3 | dnl Copyright (C) 2011-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/multiarch.m4 b/gl/m4/multiarch.m4 index 3ba5b0f7..3af29d39 100644 --- a/gl/m4/multiarch.m4 +++ b/gl/m4/multiarch.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # multiarch.m4 serial 9 | 1 | # multiarch.m4 |
2 | dnl Copyright (C) 2008-2023 Free Software Foundation, Inc. | 2 | # serial 9 |
3 | dnl Copyright (C) 2008-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/musl.m4 b/gl/m4/musl.m4 new file mode 100644 index 00000000..0d4de892 --- /dev/null +++ b/gl/m4/musl.m4 | |||
@@ -0,0 +1,21 @@ | |||
1 | # musl.m4 | ||
2 | # serial 4 | ||
3 | dnl Copyright (C) 2019-2024 Free Software Foundation, Inc. | ||
4 | dnl This file is free software; the Free Software Foundation | ||
5 | dnl gives unlimited permission to copy and/or distribute it, | ||
6 | dnl with or without modifications, as long as this notice is preserved. | ||
7 | |||
8 | # Test for musl libc, despite the musl libc authors don't like it | ||
9 | # <https://wiki.musl-libc.org/faq.html> | ||
10 | # <https://lists.gnu.org/archive/html/bug-gnulib/2018-02/msg00079.html>. | ||
11 | # From Bruno Haible. | ||
12 | |||
13 | AC_DEFUN_ONCE([gl_MUSL_LIBC], | ||
14 | [ | ||
15 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
16 | case "$host_os" in | ||
17 | *-musl* | midipix*) | ||
18 | AC_DEFINE([MUSL_LIBC], [1], [Define to 1 on musl libc.]) | ||
19 | ;; | ||
20 | esac | ||
21 | ]) | ||
diff --git a/gl/m4/netdb_h.m4 b/gl/m4/netdb_h.m4 index e6aa8925..d8c00217 100644 --- a/gl/m4/netdb_h.m4 +++ b/gl/m4/netdb_h.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # netdb_h.m4 serial 15 | 1 | # netdb_h.m4 |
2 | dnl Copyright (C) 2008-2023 Free Software Foundation, Inc. | 2 | # serial 15 |
3 | dnl Copyright (C) 2008-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/netinet_in_h.m4 b/gl/m4/netinet_in_h.m4 index 71154191..926f7f95 100644 --- a/gl/m4/netinet_in_h.m4 +++ b/gl/m4/netinet_in_h.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # netinet_in_h.m4 serial 6 | 1 | # netinet_in_h.m4 |
2 | dnl Copyright (C) 2006-2023 Free Software Foundation, Inc. | 2 | # serial 6 |
3 | dnl Copyright (C) 2006-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/nl_langinfo.m4 b/gl/m4/nl_langinfo.m4 index 51e783ce..f38f11bb 100644 --- a/gl/m4/nl_langinfo.m4 +++ b/gl/m4/nl_langinfo.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # nl_langinfo.m4 serial 8 | 1 | # nl_langinfo.m4 |
2 | dnl Copyright (C) 2009-2023 Free Software Foundation, Inc. | 2 | # serial 11 |
3 | dnl Copyright (C) 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -8,7 +9,7 @@ AC_DEFUN([gl_FUNC_NL_LANGINFO], | |||
8 | [ | 9 | [ |
9 | AC_REQUIRE([gl_LANGINFO_H_DEFAULTS]) | 10 | AC_REQUIRE([gl_LANGINFO_H_DEFAULTS]) |
10 | AC_REQUIRE([gl_LANGINFO_H]) | 11 | AC_REQUIRE([gl_LANGINFO_H]) |
11 | AC_CHECK_FUNCS_ONCE([nl_langinfo]) | 12 | gl_CHECK_FUNCS_ANDROID([nl_langinfo], [[#include <langinfo.h>]]) |
12 | AC_REQUIRE([AC_CANONICAL_HOST]) | 13 | AC_REQUIRE([AC_CANONICAL_HOST]) |
13 | AC_REQUIRE([gl_FUNC_SETLOCALE_NULL]) | 14 | AC_REQUIRE([gl_FUNC_SETLOCALE_NULL]) |
14 | AC_REQUIRE([gl_PTHREADLIB]) | 15 | AC_REQUIRE([gl_PTHREADLIB]) |
@@ -60,9 +61,12 @@ AC_DEFUN([gl_FUNC_NL_LANGINFO], | |||
60 | fi | 61 | fi |
61 | else | 62 | else |
62 | HAVE_NL_LANGINFO=0 | 63 | HAVE_NL_LANGINFO=0 |
64 | case "$gl_cv_onwards_func_nl_langinfo" in | ||
65 | future*) REPLACE_NL_LANGINFO=1 ;; | ||
66 | esac | ||
63 | fi | 67 | fi |
64 | if test $HAVE_NL_LANGINFO = 0 || test $HAVE_LANGINFO_CODESET = 0; then | 68 | if test $HAVE_NL_LANGINFO = 0 || test $HAVE_LANGINFO_CODESET = 0; then |
65 | LIB_NL_LANGINFO="$LIB_SETLOCALE_NULL" | 69 | LIB_NL_LANGINFO="$SETLOCALE_NULL_LIB" |
66 | else | 70 | else |
67 | LIB_NL_LANGINFO= | 71 | LIB_NL_LANGINFO= |
68 | fi | 72 | fi |
diff --git a/gl/m4/nocrash.m4 b/gl/m4/nocrash.m4 index 6a766387..cbe8fe82 100644 --- a/gl/m4/nocrash.m4 +++ b/gl/m4/nocrash.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # nocrash.m4 serial 5 | 1 | # nocrash.m4 |
2 | dnl Copyright (C) 2005, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 5 |
3 | dnl Copyright (C) 2005, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/off_t.m4 b/gl/m4/off_t.m4 index 880f3472..db6035db 100644 --- a/gl/m4/off_t.m4 +++ b/gl/m4/off_t.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # off_t.m4 serial 1 | 1 | # off_t.m4 |
2 | dnl Copyright (C) 2012-2023 Free Software Foundation, Inc. | 2 | # serial 1 |
3 | dnl Copyright (C) 2012-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/open-cloexec.m4 b/gl/m4/open-cloexec.m4 index fd572fcd..6defdfb4 100644 --- a/gl/m4/open-cloexec.m4 +++ b/gl/m4/open-cloexec.m4 | |||
@@ -1,10 +1,12 @@ | |||
1 | # Test whether O_CLOEXEC is defined. | 1 | # open-cloexec.m4 |
2 | 2 | # serial 1 | |
3 | dnl Copyright 2017-2023 Free Software Foundation, Inc. | 3 | dnl Copyright 2017-2024 Free Software Foundation, Inc. |
4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
7 | 7 | ||
8 | # Test whether O_CLOEXEC is defined. | ||
9 | |||
8 | AC_DEFUN([gl_PREPROC_O_CLOEXEC], | 10 | AC_DEFUN([gl_PREPROC_O_CLOEXEC], |
9 | [ | 11 | [ |
10 | AC_CACHE_CHECK([for O_CLOEXEC], | 12 | AC_CACHE_CHECK([for O_CLOEXEC], |
diff --git a/gl/m4/open-slash.m4 b/gl/m4/open-slash.m4 index 1f731f8a..03460e42 100644 --- a/gl/m4/open-slash.m4 +++ b/gl/m4/open-slash.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # open-slash.m4 serial 2 | 1 | # open-slash.m4 |
2 | dnl Copyright (C) 2007-2023 Free Software Foundation, Inc. | 2 | # serial 2 |
3 | dnl Copyright (C) 2007-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/open.m4 b/gl/m4/open.m4 index 94fa2bb7..62a11a11 100644 --- a/gl/m4/open.m4 +++ b/gl/m4/open.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # open.m4 serial 15 | 1 | # open.m4 |
2 | dnl Copyright (C) 2007-2023 Free Software Foundation, Inc. | 2 | # serial 16 |
3 | dnl Copyright (C) 2007-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -9,7 +10,7 @@ AC_DEFUN([gl_FUNC_OPEN], | |||
9 | AC_REQUIRE([AC_CANONICAL_HOST]) | 10 | AC_REQUIRE([AC_CANONICAL_HOST]) |
10 | AC_REQUIRE([gl_PREPROC_O_CLOEXEC]) | 11 | AC_REQUIRE([gl_PREPROC_O_CLOEXEC]) |
11 | case "$host_os" in | 12 | case "$host_os" in |
12 | mingw* | pw*) | 13 | mingw* | windows* | pw*) |
13 | REPLACE_OPEN=1 | 14 | REPLACE_OPEN=1 |
14 | ;; | 15 | ;; |
15 | *) | 16 | *) |
diff --git a/gl/m4/pathmax.m4 b/gl/m4/pathmax.m4 index 6d47d2c0..4280837f 100644 --- a/gl/m4/pathmax.m4 +++ b/gl/m4/pathmax.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # pathmax.m4 serial 11 | 1 | # pathmax.m4 |
2 | dnl Copyright (C) 2002-2003, 2005-2006, 2009-2023 Free Software Foundation, | 2 | # serial 11 |
3 | dnl Copyright (C) 2002-2003, 2005-2006, 2009-2024 Free Software Foundation, | ||
3 | dnl Inc. | 4 | dnl Inc. |
4 | dnl This file is free software; the Free Software Foundation | 5 | dnl This file is free software; the Free Software Foundation |
5 | dnl gives unlimited permission to copy and/or distribute it, | 6 | dnl gives unlimited permission to copy and/or distribute it, |
diff --git a/gl/m4/pid_t.m4 b/gl/m4/pid_t.m4 index 0fd7d0a1..8bedcc6b 100644 --- a/gl/m4/pid_t.m4 +++ b/gl/m4/pid_t.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # pid_t.m4 serial 4 | 1 | # pid_t.m4 |
2 | dnl Copyright (C) 2020-2023 Free Software Foundation, Inc. | 2 | # serial 4 |
3 | dnl Copyright (C) 2020-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/printf.m4 b/gl/m4/printf.m4 index 4e65abc6..0cb14d6f 100644 --- a/gl/m4/printf.m4 +++ b/gl/m4/printf.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # printf.m4 serial 73 | 1 | # printf.m4 |
2 | dnl Copyright (C) 2003, 2007-2023 Free Software Foundation, Inc. | 2 | # serial 91 |
3 | dnl Copyright (C) 2003, 2007-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -63,7 +64,7 @@ changequote(,)dnl | |||
63 | # Guess yes on glibc systems. | 64 | # Guess yes on glibc systems. |
64 | *-gnu* | gnu*) gl_cv_func_printf_sizes_c99="guessing yes";; | 65 | *-gnu* | gnu*) gl_cv_func_printf_sizes_c99="guessing yes";; |
65 | # Guess yes on musl systems. | 66 | # Guess yes on musl systems. |
66 | *-musl*) gl_cv_func_printf_sizes_c99="guessing yes";; | 67 | *-musl* | midipix*) gl_cv_func_printf_sizes_c99="guessing yes";; |
67 | # Guess yes on FreeBSD >= 5. | 68 | # Guess yes on FreeBSD >= 5. |
68 | freebsd[1-4].*) gl_cv_func_printf_sizes_c99="guessing no";; | 69 | freebsd[1-4].*) gl_cv_func_printf_sizes_c99="guessing no";; |
69 | freebsd* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";; | 70 | freebsd* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";; |
@@ -86,7 +87,8 @@ changequote(,)dnl | |||
86 | linux*-android*) gl_cv_func_printf_sizes_c99="guessing yes";; | 87 | linux*-android*) gl_cv_func_printf_sizes_c99="guessing yes";; |
87 | changequote([,])dnl | 88 | changequote([,])dnl |
88 | # Guess yes on MSVC, no on mingw. | 89 | # Guess yes on MSVC, no on mingw. |
89 | mingw*) AC_EGREP_CPP([Known], [ | 90 | windows*-msvc*) gl_cv_func_printf_sizes_c99="guessing yes" ;; |
91 | mingw* | windows*) AC_EGREP_CPP([Known], [ | ||
90 | #ifdef _MSC_VER | 92 | #ifdef _MSC_VER |
91 | Known | 93 | Known |
92 | #endif | 94 | #endif |
@@ -101,6 +103,92 @@ changequote([,])dnl | |||
101 | ]) | 103 | ]) |
102 | ]) | 104 | ]) |
103 | 105 | ||
106 | dnl Test whether the *printf family of functions supports the 'w8', 'w16', | ||
107 | dnl 'w32', 'w64', 'wf8', 'wf16', 'wf32', 'wf64' size specifiers. (ISO C23) | ||
108 | dnl Result is gl_cv_func_printf_sizes_c23. | ||
109 | |||
110 | AC_DEFUN([gl_PRINTF_SIZES_C23], | ||
111 | [ | ||
112 | AC_REQUIRE([AC_PROG_CC]) | ||
113 | AC_REQUIRE([gl_AC_HEADER_STDINT_H]) | ||
114 | AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) | ||
115 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
116 | AC_CACHE_CHECK([whether printf supports size specifiers as in C23], | ||
117 | [gl_cv_func_printf_sizes_c23], | ||
118 | [ | ||
119 | AC_RUN_IFELSE( | ||
120 | [AC_LANG_SOURCE([[ | ||
121 | #include <stddef.h> | ||
122 | #include <stdio.h> | ||
123 | #include <string.h> | ||
124 | #include <sys/types.h> | ||
125 | #if HAVE_STDINT_H_WITH_UINTMAX | ||
126 | # include <stdint.h> | ||
127 | #endif | ||
128 | #if HAVE_INTTYPES_H_WITH_UINTMAX | ||
129 | # include <inttypes.h> | ||
130 | #endif | ||
131 | static char buf[100]; | ||
132 | int main () | ||
133 | { | ||
134 | int result = 0; | ||
135 | buf[0] = '\0'; | ||
136 | if (sprintf (buf, "%w8u %d", (uint8_t) 123, 33, 44, 55) < 0 | ||
137 | || strcmp (buf, "123 33") != 0) | ||
138 | result |= 1; | ||
139 | buf[0] = '\0'; | ||
140 | if (sprintf (buf, "%wf8u %d", (uint_fast8_t) 123, 33, 44, 55) < 0 | ||
141 | || strcmp (buf, "123 33") != 0) | ||
142 | result |= 1; | ||
143 | buf[0] = '\0'; | ||
144 | if (sprintf (buf, "%w16u %d", (uint16_t) 12345, 33, 44, 55) < 0 | ||
145 | || strcmp (buf, "12345 33") != 0) | ||
146 | result |= 2; | ||
147 | buf[0] = '\0'; | ||
148 | if (sprintf (buf, "%wf16u %d", (uint_fast16_t) 12345, 33, 44, 55) < 0 | ||
149 | || strcmp (buf, "12345 33") != 0) | ||
150 | result |= 2; | ||
151 | buf[0] = '\0'; | ||
152 | if (sprintf (buf, "%w32u %d", (uint32_t) 12345671, 33, 44, 55) < 0 | ||
153 | || strcmp (buf, "12345671 33") != 0) | ||
154 | result |= 4; | ||
155 | buf[0] = '\0'; | ||
156 | if (sprintf (buf, "%wf32u %d", (uint_fast32_t) 12345671, 33, 44, 55) < 0 | ||
157 | || strcmp (buf, "12345671 33") != 0) | ||
158 | result |= 4; | ||
159 | #if HAVE_STDINT_H_WITH_UINTMAX || HAVE_INTTYPES_H_WITH_UINTMAX | ||
160 | buf[0] = '\0'; | ||
161 | if (sprintf (buf, "%w64u %d", (uint64_t) 12345671, 33, 44, 55) < 0 | ||
162 | || strcmp (buf, "12345671 33") != 0) | ||
163 | result |= 8; | ||
164 | buf[0] = '\0'; | ||
165 | if (sprintf (buf, "%wf64u %d", (uint_fast64_t) 12345671, 33, 44, 55) < 0 | ||
166 | || strcmp (buf, "12345671 33") != 0) | ||
167 | result |= 8; | ||
168 | #else | ||
169 | result |= 8; | ||
170 | #endif | ||
171 | return result; | ||
172 | }]])], | ||
173 | [gl_cv_func_printf_sizes_c23=yes], | ||
174 | [gl_cv_func_printf_sizes_c23=no], | ||
175 | [ | ||
176 | case "$host_os" in | ||
177 | # Guess no on glibc systems. | ||
178 | *-gnu* | gnu*) gl_cv_func_printf_sizes_c23="guessing no";; | ||
179 | # Guess no on musl systems. | ||
180 | *-musl* | midipix*) gl_cv_func_printf_sizes_c23="guessing no";; | ||
181 | # Guess no on Android. | ||
182 | linux*-android*) gl_cv_func_printf_sizes_c23="guessing no";; | ||
183 | # Guess no on native Windows. | ||
184 | mingw* | windows*) gl_cv_func_printf_sizes_c23="guessing no";; | ||
185 | # If we don't know, obey --enable-cross-guesses. | ||
186 | *) gl_cv_func_printf_sizes_c23="$gl_cross_guess_normal";; | ||
187 | esac | ||
188 | ]) | ||
189 | ]) | ||
190 | ]) | ||
191 | |||
104 | dnl Test whether the *printf family of functions supports 'long double' | 192 | dnl Test whether the *printf family of functions supports 'long double' |
105 | dnl arguments together with the 'L' size specifier. (ISO C99, POSIX:2001) | 193 | dnl arguments together with the 'L' size specifier. (ISO C99, POSIX:2001) |
106 | dnl Result is gl_cv_func_printf_long_double. | 194 | dnl Result is gl_cv_func_printf_long_double. |
@@ -137,20 +225,21 @@ int main () | |||
137 | [gl_cv_func_printf_long_double=yes], | 225 | [gl_cv_func_printf_long_double=yes], |
138 | [gl_cv_func_printf_long_double=no], | 226 | [gl_cv_func_printf_long_double=no], |
139 | [case "$host_os" in | 227 | [case "$host_os" in |
140 | # Guess no on BeOS. | 228 | # Guess no on BeOS. |
141 | beos*) gl_cv_func_printf_long_double="guessing no";; | 229 | beos*) gl_cv_func_printf_long_double="guessing no";; |
142 | # Guess yes on Android. | 230 | # Guess yes on Android. |
143 | linux*-android*) gl_cv_func_printf_long_double="guessing yes";; | 231 | linux*-android*) gl_cv_func_printf_long_double="guessing yes";; |
144 | # Guess yes on MSVC, no on mingw. | 232 | # Guess yes on MSVC, no on mingw. |
145 | mingw*) AC_EGREP_CPP([Known], [ | 233 | windows*-msvc*) gl_cv_func_printf_long_double="guessing yes" ;; |
234 | mingw* | windows*) AC_EGREP_CPP([Known], [ | ||
146 | #ifdef _MSC_VER | 235 | #ifdef _MSC_VER |
147 | Known | 236 | Known |
148 | #endif | 237 | #endif |
149 | ], | 238 | ], |
150 | [gl_cv_func_printf_long_double="guessing yes"], | 239 | [gl_cv_func_printf_long_double="guessing yes"], |
151 | [gl_cv_func_printf_long_double="guessing no"]) | 240 | [gl_cv_func_printf_long_double="guessing no"]) |
152 | ;; | 241 | ;; |
153 | *) gl_cv_func_printf_long_double="guessing yes";; | 242 | *) gl_cv_func_printf_long_double="guessing yes";; |
154 | esac | 243 | esac |
155 | ]) | 244 | ]) |
156 | ]) | 245 | ]) |
@@ -244,7 +333,7 @@ changequote(,)dnl | |||
244 | # Guess yes on glibc systems. | 333 | # Guess yes on glibc systems. |
245 | *-gnu* | gnu*) gl_cv_func_printf_infinite="guessing yes";; | 334 | *-gnu* | gnu*) gl_cv_func_printf_infinite="guessing yes";; |
246 | # Guess yes on musl systems. | 335 | # Guess yes on musl systems. |
247 | *-musl*) gl_cv_func_printf_infinite="guessing yes";; | 336 | *-musl* | midipix*) gl_cv_func_printf_infinite="guessing yes";; |
248 | # Guess yes on FreeBSD >= 6. | 337 | # Guess yes on FreeBSD >= 6. |
249 | freebsd[1-5].*) gl_cv_func_printf_infinite="guessing no";; | 338 | freebsd[1-5].*) gl_cv_func_printf_infinite="guessing no";; |
250 | freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";; | 339 | freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";; |
@@ -268,7 +357,8 @@ changequote(,)dnl | |||
268 | linux*-android*) gl_cv_func_printf_infinite="guessing no";; | 357 | linux*-android*) gl_cv_func_printf_infinite="guessing no";; |
269 | changequote([,])dnl | 358 | changequote([,])dnl |
270 | # Guess yes on MSVC, no on mingw. | 359 | # Guess yes on MSVC, no on mingw. |
271 | mingw*) AC_EGREP_CPP([Known], [ | 360 | windows*-msvc*) gl_cv_func_printf_infinite="guessing yes" ;; |
361 | mingw* | windows*) AC_EGREP_CPP([Known], [ | ||
272 | #ifdef _MSC_VER | 362 | #ifdef _MSC_VER |
273 | Known | 363 | Known |
274 | #endif | 364 | #endif |
@@ -467,7 +557,7 @@ changequote(,)dnl | |||
467 | # Guess yes on glibc systems. | 557 | # Guess yes on glibc systems. |
468 | *-gnu* | gnu*) gl_cv_func_printf_infinite_long_double="guessing yes";; | 558 | *-gnu* | gnu*) gl_cv_func_printf_infinite_long_double="guessing yes";; |
469 | # Guess yes on musl systems. | 559 | # Guess yes on musl systems. |
470 | *-musl*) gl_cv_func_printf_infinite_long_double="guessing yes";; | 560 | *-musl* | midipix*) gl_cv_func_printf_infinite_long_double="guessing yes";; |
471 | # Guess yes on FreeBSD >= 6. | 561 | # Guess yes on FreeBSD >= 6. |
472 | freebsd[1-5].*) gl_cv_func_printf_infinite_long_double="guessing no";; | 562 | freebsd[1-5].*) gl_cv_func_printf_infinite_long_double="guessing no";; |
473 | freebsd* | kfreebsd*) gl_cv_func_printf_infinite_long_double="guessing yes";; | 563 | freebsd* | kfreebsd*) gl_cv_func_printf_infinite_long_double="guessing yes";; |
@@ -482,7 +572,8 @@ changequote(,)dnl | |||
482 | linux*-android*) gl_cv_func_printf_infinite_long_double="guessing no";; | 572 | linux*-android*) gl_cv_func_printf_infinite_long_double="guessing no";; |
483 | changequote([,])dnl | 573 | changequote([,])dnl |
484 | # Guess yes on MSVC, no on mingw. | 574 | # Guess yes on MSVC, no on mingw. |
485 | mingw*) AC_EGREP_CPP([Known], [ | 575 | windows*-msvc*) gl_cv_func_printf_infinite_long_double="guessing yes" ;; |
576 | mingw* | windows*) AC_EGREP_CPP([Known], [ | ||
486 | #ifdef _MSC_VER | 577 | #ifdef _MSC_VER |
487 | Known | 578 | Known |
488 | #endif | 579 | #endif |
@@ -591,11 +682,11 @@ int main () | |||
591 | [gl_cv_func_printf_directive_a="guessing no"]) | 682 | [gl_cv_func_printf_directive_a="guessing no"]) |
592 | ;; | 683 | ;; |
593 | # Guess yes on musl systems. | 684 | # Guess yes on musl systems. |
594 | *-musl*) gl_cv_func_printf_directive_a="guessing yes";; | 685 | *-musl* | midipix*) gl_cv_func_printf_directive_a="guessing yes";; |
595 | # Guess no on Android. | 686 | # Guess no on Android. |
596 | linux*-android*) gl_cv_func_printf_directive_a="guessing no";; | 687 | linux*-android*) gl_cv_func_printf_directive_a="guessing no";; |
597 | # Guess no on native Windows. | 688 | # Guess no on native Windows. |
598 | mingw*) gl_cv_func_printf_directive_a="guessing no";; | 689 | mingw* | windows*) gl_cv_func_printf_directive_a="guessing no";; |
599 | # If we don't know, obey --enable-cross-guesses. | 690 | # If we don't know, obey --enable-cross-guesses. |
600 | *) gl_cv_func_printf_directive_a="$gl_cross_guess_normal";; | 691 | *) gl_cv_func_printf_directive_a="$gl_cross_guess_normal";; |
601 | esac | 692 | esac |
@@ -603,6 +694,116 @@ int main () | |||
603 | ]) | 694 | ]) |
604 | ]) | 695 | ]) |
605 | 696 | ||
697 | dnl Test whether the *printf family of functions supports the 'b' conversion | ||
698 | dnl specifier for binary output of integers. | ||
699 | dnl (ISO C23) | ||
700 | dnl Result is gl_cv_func_printf_directive_b. | ||
701 | |||
702 | AC_DEFUN([gl_PRINTF_DIRECTIVE_B], | ||
703 | [ | ||
704 | AC_REQUIRE([AC_PROG_CC]) | ||
705 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
706 | AC_CACHE_CHECK([whether printf supports the 'b' directive], | ||
707 | [gl_cv_func_printf_directive_b], | ||
708 | [ | ||
709 | AC_RUN_IFELSE( | ||
710 | [AC_LANG_SOURCE([[ | ||
711 | #include <stdio.h> | ||
712 | #include <string.h> | ||
713 | static char buf[100]; | ||
714 | int main () | ||
715 | { | ||
716 | int result = 0; | ||
717 | if (sprintf (buf, "%b %d", 12345, 33, 44, 55) < 0 | ||
718 | || strcmp (buf, "11000000111001 33") != 0) | ||
719 | result |= 1; | ||
720 | return result; | ||
721 | }]])], | ||
722 | [gl_cv_func_printf_directive_b=yes], | ||
723 | [gl_cv_func_printf_directive_b=no], | ||
724 | [ | ||
725 | case "$host_os" in | ||
726 | # Guess yes on glibc >= 2.35 systems. | ||
727 | *-gnu* | gnu*) | ||
728 | AC_EGREP_CPP([Lucky], [ | ||
729 | #include <features.h> | ||
730 | #ifdef __GNU_LIBRARY__ | ||
731 | #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 35) || (__GLIBC__ > 2) | ||
732 | Lucky user | ||
733 | #endif | ||
734 | #endif | ||
735 | ], | ||
736 | [gl_cv_func_printf_directive_uppercase_b="guessing yes"], | ||
737 | [gl_cv_func_printf_directive_uppercase_b="guessing no"]) | ||
738 | ;; | ||
739 | # Guess no on musl systems. | ||
740 | *-musl* | midipix*) gl_cv_func_printf_directive_b="guessing no";; | ||
741 | # Guess no on Android. | ||
742 | linux*-android*) gl_cv_func_printf_directive_b="guessing no";; | ||
743 | # Guess no on native Windows. | ||
744 | mingw* | windows*) gl_cv_func_printf_directive_b="guessing no";; | ||
745 | # If we don't know, obey --enable-cross-guesses. | ||
746 | *) gl_cv_func_printf_directive_b="$gl_cross_guess_normal";; | ||
747 | esac | ||
748 | ]) | ||
749 | ]) | ||
750 | ]) | ||
751 | |||
752 | dnl Test whether the *printf family of functions supports the 'B' conversion | ||
753 | dnl specifier for binary output of integers. | ||
754 | dnl (GNU, encouraged by ISO C23 § 7.23.6.1) | ||
755 | dnl Result is gl_cv_func_printf_directive_uppercase_b. | ||
756 | |||
757 | AC_DEFUN([gl_PRINTF_DIRECTIVE_UPPERCASE_B], | ||
758 | [ | ||
759 | AC_REQUIRE([AC_PROG_CC]) | ||
760 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
761 | AC_CACHE_CHECK([whether printf supports the 'B' directive], | ||
762 | [gl_cv_func_printf_directive_uppercase_b], | ||
763 | [ | ||
764 | AC_RUN_IFELSE( | ||
765 | [AC_LANG_SOURCE([[ | ||
766 | #include <stdio.h> | ||
767 | #include <string.h> | ||
768 | static char buf[100]; | ||
769 | int main () | ||
770 | { | ||
771 | int result = 0; | ||
772 | if (sprintf (buf, "%#B %d", 12345, 33, 44, 55) < 0 | ||
773 | || strcmp (buf, "0B11000000111001 33") != 0) | ||
774 | result |= 1; | ||
775 | return result; | ||
776 | }]])], | ||
777 | [gl_cv_func_printf_directive_uppercase_b=yes], | ||
778 | [gl_cv_func_printf_directive_uppercase_b=no], | ||
779 | [ | ||
780 | case "$host_os" in | ||
781 | # Guess yes on glibc >= 2.35 systems. | ||
782 | *-gnu* | gnu*) | ||
783 | AC_EGREP_CPP([Lucky], [ | ||
784 | #include <features.h> | ||
785 | #ifdef __GNU_LIBRARY__ | ||
786 | #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 35) || (__GLIBC__ > 2) | ||
787 | Lucky user | ||
788 | #endif | ||
789 | #endif | ||
790 | ], | ||
791 | [gl_cv_func_printf_directive_uppercase_b="guessing yes"], | ||
792 | [gl_cv_func_printf_directive_uppercase_b="guessing no"]) | ||
793 | ;; | ||
794 | # Guess no on musl systems. | ||
795 | *-musl* | midipix*) gl_cv_func_printf_directive_uppercase_b="guessing no";; | ||
796 | # Guess no on Android. | ||
797 | linux*-android*) gl_cv_func_printf_directive_uppercase_b="guessing no";; | ||
798 | # Guess no on native Windows. | ||
799 | mingw* | windows*) gl_cv_func_printf_directive_uppercase_b="guessing no";; | ||
800 | # If we don't know, obey --enable-cross-guesses. | ||
801 | *) gl_cv_func_printf_directive_uppercase_b="$gl_cross_guess_normal";; | ||
802 | esac | ||
803 | ]) | ||
804 | ]) | ||
805 | ]) | ||
806 | |||
606 | dnl Test whether the *printf family of functions supports the %F format | 807 | dnl Test whether the *printf family of functions supports the %F format |
607 | dnl directive. (ISO C99, POSIX:2001) | 808 | dnl directive. (ISO C99, POSIX:2001) |
608 | dnl Result is gl_cv_func_printf_directive_f. | 809 | dnl Result is gl_cv_func_printf_directive_f. |
@@ -643,7 +844,7 @@ changequote(,)dnl | |||
643 | # Guess yes on glibc systems. | 844 | # Guess yes on glibc systems. |
644 | *-gnu* | gnu*) gl_cv_func_printf_directive_f="guessing yes";; | 845 | *-gnu* | gnu*) gl_cv_func_printf_directive_f="guessing yes";; |
645 | # Guess yes on musl systems. | 846 | # Guess yes on musl systems. |
646 | *-musl*) gl_cv_func_printf_directive_f="guessing yes";; | 847 | *-musl* | midipix*) gl_cv_func_printf_directive_f="guessing yes";; |
647 | # Guess yes on FreeBSD >= 6. | 848 | # Guess yes on FreeBSD >= 6. |
648 | freebsd[1-5].*) gl_cv_func_printf_directive_f="guessing no";; | 849 | freebsd[1-5].*) gl_cv_func_printf_directive_f="guessing no";; |
649 | freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";; | 850 | freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";; |
@@ -661,7 +862,8 @@ changequote(,)dnl | |||
661 | linux*-android*) gl_cv_func_printf_directive_f="guessing no";; | 862 | linux*-android*) gl_cv_func_printf_directive_f="guessing no";; |
662 | changequote([,])dnl | 863 | changequote([,])dnl |
663 | # Guess yes on MSVC, no on mingw. | 864 | # Guess yes on MSVC, no on mingw. |
664 | mingw*) AC_EGREP_CPP([Known], [ | 865 | windows*-msvc*) gl_cv_func_printf_directive_f="guessing yes" ;; |
866 | mingw* | windows*) AC_EGREP_CPP([Known], [ | ||
665 | #ifdef _MSC_VER | 867 | #ifdef _MSC_VER |
666 | Known | 868 | Known |
667 | #endif | 869 | #endif |
@@ -689,6 +891,7 @@ AC_DEFUN([gl_PRINTF_DIRECTIVE_N], | |||
689 | [ | 891 | [ |
690 | AC_RUN_IFELSE( | 892 | AC_RUN_IFELSE( |
691 | [AC_LANG_SOURCE([[ | 893 | [AC_LANG_SOURCE([[ |
894 | #include <signal.h> | ||
692 | #include <stdio.h> | 895 | #include <stdio.h> |
693 | #include <stdlib.h> | 896 | #include <stdlib.h> |
694 | #include <string.h> | 897 | #include <string.h> |
@@ -706,6 +909,12 @@ invalid_parameter_handler (const wchar_t *expression, | |||
706 | exit (1); | 909 | exit (1); |
707 | } | 910 | } |
708 | #endif | 911 | #endif |
912 | static void | ||
913 | abort_handler (int sig) | ||
914 | { | ||
915 | (void) sig; | ||
916 | _exit (1); | ||
917 | } | ||
709 | static char fmtstring[10]; | 918 | static char fmtstring[10]; |
710 | static char buf[100]; | 919 | static char buf[100]; |
711 | int main () | 920 | int main () |
@@ -714,6 +923,7 @@ int main () | |||
714 | #ifdef _MSC_VER | 923 | #ifdef _MSC_VER |
715 | _set_invalid_parameter_handler (invalid_parameter_handler); | 924 | _set_invalid_parameter_handler (invalid_parameter_handler); |
716 | #endif | 925 | #endif |
926 | signal (SIGABRT, abort_handler); | ||
717 | /* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2) | 927 | /* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2) |
718 | support %n in format strings in read-only memory but not in writable | 928 | support %n in format strings in read-only memory but not in writable |
719 | memory. */ | 929 | memory. */ |
@@ -727,21 +937,21 @@ int main () | |||
727 | [gl_cv_func_printf_directive_n=yes], | 937 | [gl_cv_func_printf_directive_n=yes], |
728 | [gl_cv_func_printf_directive_n=no], | 938 | [gl_cv_func_printf_directive_n=no], |
729 | [case "$host_os" in | 939 | [case "$host_os" in |
730 | # Guess no on glibc when _FORTIFY_SOURCE >= 2. | 940 | # Guess no on glibc when _FORTIFY_SOURCE >= 2. |
731 | *-gnu* | gnu*) AC_COMPILE_IFELSE( | 941 | *-gnu* | gnu*) AC_COMPILE_IFELSE( |
732 | [AC_LANG_SOURCE( | 942 | [AC_LANG_SOURCE( |
733 | [[#if _FORTIFY_SOURCE >= 2 | 943 | [[#if _FORTIFY_SOURCE >= 2 |
734 | error fail | 944 | error fail |
735 | #endif | 945 | #endif |
736 | ]])], | 946 | ]])], |
737 | [gl_cv_func_printf_directive_n="guessing yes"], | 947 | [gl_cv_func_printf_directive_n="guessing yes"], |
738 | [gl_cv_func_printf_directive_n="guessing no"]) | 948 | [gl_cv_func_printf_directive_n="guessing no"]) |
739 | ;; | 949 | ;; |
740 | # Guess no on Android. | 950 | # Guess no on Android. |
741 | linux*-android*) gl_cv_func_printf_directive_n="guessing no";; | 951 | linux*-android*) gl_cv_func_printf_directive_n="guessing no";; |
742 | # Guess no on native Windows. | 952 | # Guess no on native Windows. |
743 | mingw*) gl_cv_func_printf_directive_n="guessing no";; | 953 | mingw* | windows*) gl_cv_func_printf_directive_n="guessing no";; |
744 | *) gl_cv_func_printf_directive_n="guessing yes";; | 954 | *) gl_cv_func_printf_directive_n="guessing yes";; |
745 | esac | 955 | esac |
746 | ]) | 956 | ]) |
747 | ]) | 957 | ]) |
@@ -811,18 +1021,64 @@ int main () | |||
811 | [ | 1021 | [ |
812 | changequote(,)dnl | 1022 | changequote(,)dnl |
813 | case "$host_os" in | 1023 | case "$host_os" in |
814 | # Guess yes on OpenBSD >= 6.0. | 1024 | # Guess yes on OpenBSD >= 6.0. |
815 | openbsd[1-5].*) gl_cv_func_printf_directive_ls="guessing no";; | 1025 | openbsd[1-5].*) gl_cv_func_printf_directive_ls="guessing no";; |
816 | openbsd*) gl_cv_func_printf_directive_ls="guessing yes";; | 1026 | openbsd*) gl_cv_func_printf_directive_ls="guessing yes";; |
817 | irix*) gl_cv_func_printf_directive_ls="guessing no";; | 1027 | irix*) gl_cv_func_printf_directive_ls="guessing no";; |
818 | solaris*) gl_cv_func_printf_directive_ls="guessing no";; | 1028 | solaris*) gl_cv_func_printf_directive_ls="guessing no";; |
819 | cygwin*) gl_cv_func_printf_directive_ls="guessing no";; | 1029 | cygwin*) gl_cv_func_printf_directive_ls="guessing no";; |
820 | beos* | haiku*) gl_cv_func_printf_directive_ls="guessing no";; | 1030 | beos* | haiku*) gl_cv_func_printf_directive_ls="guessing no";; |
821 | # Guess no on Android. | 1031 | # Guess no on Android. |
822 | linux*-android*) gl_cv_func_printf_directive_ls="guessing no";; | 1032 | linux*-android*) gl_cv_func_printf_directive_ls="guessing no";; |
823 | # Guess yes on native Windows. | 1033 | # Guess yes on native Windows. |
824 | mingw*) gl_cv_func_printf_directive_ls="guessing yes";; | 1034 | mingw* | windows*) gl_cv_func_printf_directive_ls="guessing yes";; |
825 | *) gl_cv_func_printf_directive_ls="guessing yes";; | 1035 | *) gl_cv_func_printf_directive_ls="guessing yes";; |
1036 | esac | ||
1037 | changequote([,])dnl | ||
1038 | ]) | ||
1039 | ]) | ||
1040 | ]) | ||
1041 | |||
1042 | dnl Test whether the *printf family of functions supports the %lc format | ||
1043 | dnl directive and in particular, when the argument is a null wide character, | ||
1044 | dnl whether the functions produce a NUL byte, as specified in ISO C 23 | ||
1045 | dnl after the issue GB-141 was fixed. | ||
1046 | dnl Result is gl_cv_func_printf_directive_lc. | ||
1047 | |||
1048 | AC_DEFUN([gl_PRINTF_DIRECTIVE_LC], | ||
1049 | [ | ||
1050 | AC_REQUIRE([AC_PROG_CC]) | ||
1051 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
1052 | AC_CACHE_CHECK([whether printf supports the 'lc' directive correctly], | ||
1053 | [gl_cv_func_printf_directive_lc], | ||
1054 | [ | ||
1055 | AC_RUN_IFELSE( | ||
1056 | [AC_LANG_SOURCE([[ | ||
1057 | #include <stdio.h> | ||
1058 | #include <wchar.h> | ||
1059 | #include <string.h> | ||
1060 | int main () | ||
1061 | { | ||
1062 | int result = 0; | ||
1063 | char buf[100]; | ||
1064 | /* This test fails on musl libc 1.2.4. */ | ||
1065 | { | ||
1066 | buf[0] = '\0'; | ||
1067 | if (sprintf (buf, "%lc%lc%lc", (wint_t) 'a', (wint_t) 0, (wint_t) 'z') < 0 | ||
1068 | || memcmp (buf, "a\0z", 4) != 0) | ||
1069 | result |= 1; | ||
1070 | } | ||
1071 | return result; | ||
1072 | }]])], | ||
1073 | [gl_cv_func_printf_directive_lc=yes], | ||
1074 | [gl_cv_func_printf_directive_lc=no], | ||
1075 | [ | ||
1076 | changequote(,)dnl | ||
1077 | case "$host_os" in | ||
1078 | # Guess no on musl libc. | ||
1079 | *-musl* | midipix*) gl_cv_func_printf_directive_lc="guessing no";; | ||
1080 | # Guess yes otherwise. | ||
1081 | *) gl_cv_func_printf_directive_lc="guessing yes";; | ||
826 | esac | 1082 | esac |
827 | changequote([,])dnl | 1083 | changequote([,])dnl |
828 | ]) | 1084 | ]) |
@@ -833,7 +1089,7 @@ dnl Test whether the *printf family of functions supports POSIX/XSI format | |||
833 | dnl strings with positions. (POSIX:2001) | 1089 | dnl strings with positions. (POSIX:2001) |
834 | dnl Result is gl_cv_func_printf_positions. | 1090 | dnl Result is gl_cv_func_printf_positions. |
835 | 1091 | ||
836 | AC_DEFUN([gl_PRINTF_POSITIONS], | 1092 | AC_DEFUN_ONCE([gl_PRINTF_POSITIONS], |
837 | [ | 1093 | [ |
838 | AC_REQUIRE([AC_PROG_CC]) | 1094 | AC_REQUIRE([AC_PROG_CC]) |
839 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | 1095 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles |
@@ -859,13 +1115,17 @@ int main () | |||
859 | changequote(,)dnl | 1115 | changequote(,)dnl |
860 | case "$host_os" in | 1116 | case "$host_os" in |
861 | netbsd[1-3]* | netbsdelf[1-3]* | netbsdaout[1-3]* | netbsdcoff[1-3]*) | 1117 | netbsd[1-3]* | netbsdelf[1-3]* | netbsdaout[1-3]* | netbsdcoff[1-3]*) |
862 | gl_cv_func_printf_positions="guessing no";; | 1118 | gl_cv_func_printf_positions="guessing no";; |
863 | beos*) gl_cv_func_printf_positions="guessing no";; | 1119 | beos*) |
864 | # Guess yes on Android. | 1120 | gl_cv_func_printf_positions="guessing no";; |
865 | linux*-android*) gl_cv_func_printf_positions="guessing yes";; | 1121 | # Guess yes on Android. |
866 | # Guess no on native Windows. | 1122 | linux*-android*) |
867 | mingw* | pw*) gl_cv_func_printf_positions="guessing no";; | 1123 | gl_cv_func_printf_positions="guessing yes";; |
868 | *) gl_cv_func_printf_positions="guessing yes";; | 1124 | # Guess no on native Windows. |
1125 | mingw* | windows* | pw*) | ||
1126 | gl_cv_func_printf_positions="guessing no";; | ||
1127 | *) | ||
1128 | gl_cv_func_printf_positions="guessing yes";; | ||
869 | esac | 1129 | esac |
870 | changequote([,])dnl | 1130 | changequote([,])dnl |
871 | ]) | 1131 | ]) |
@@ -900,13 +1160,13 @@ int main () | |||
900 | [ | 1160 | [ |
901 | changequote(,)dnl | 1161 | changequote(,)dnl |
902 | case "$host_os" in | 1162 | case "$host_os" in |
903 | cygwin*) gl_cv_func_printf_flag_grouping="guessing no";; | 1163 | cygwin*) gl_cv_func_printf_flag_grouping="guessing no";; |
904 | netbsd*) gl_cv_func_printf_flag_grouping="guessing no";; | 1164 | netbsd*) gl_cv_func_printf_flag_grouping="guessing no";; |
905 | # Guess no on Android. | 1165 | # Guess no on Android. |
906 | linux*-android*) gl_cv_func_printf_flag_grouping="guessing no";; | 1166 | linux*-android*) gl_cv_func_printf_flag_grouping="guessing no";; |
907 | # Guess no on native Windows. | 1167 | # Guess no on native Windows. |
908 | mingw* | pw*) gl_cv_func_printf_flag_grouping="guessing no";; | 1168 | mingw* | windows* | pw*) gl_cv_func_printf_flag_grouping="guessing no";; |
909 | *) gl_cv_func_printf_flag_grouping="guessing yes";; | 1169 | *) gl_cv_func_printf_flag_grouping="guessing yes";; |
910 | esac | 1170 | esac |
911 | changequote([,])dnl | 1171 | changequote([,])dnl |
912 | ]) | 1172 | ]) |
@@ -943,16 +1203,16 @@ int main () | |||
943 | [ | 1203 | [ |
944 | changequote(,)dnl | 1204 | changequote(,)dnl |
945 | case "$host_os" in | 1205 | case "$host_os" in |
946 | # Guess yes on HP-UX 11. | 1206 | # Guess yes on HP-UX 11. |
947 | hpux11*) gl_cv_func_printf_flag_leftadjust="guessing yes";; | 1207 | hpux11*) gl_cv_func_printf_flag_leftadjust="guessing yes";; |
948 | # Guess no on HP-UX 10 and older. | 1208 | # Guess no on HP-UX 10 and older. |
949 | hpux*) gl_cv_func_printf_flag_leftadjust="guessing no";; | 1209 | hpux*) gl_cv_func_printf_flag_leftadjust="guessing no";; |
950 | # Guess yes on Android. | 1210 | # Guess yes on Android. |
951 | linux*-android*) gl_cv_func_printf_flag_leftadjust="guessing yes";; | 1211 | linux*-android*) gl_cv_func_printf_flag_leftadjust="guessing yes";; |
952 | # Guess yes on native Windows. | 1212 | # Guess yes on native Windows. |
953 | mingw*) gl_cv_func_printf_flag_leftadjust="guessing yes";; | 1213 | mingw* | windows*) gl_cv_func_printf_flag_leftadjust="guessing yes";; |
954 | # Guess yes otherwise. | 1214 | # Guess yes otherwise. |
955 | *) gl_cv_func_printf_flag_leftadjust="guessing yes";; | 1215 | *) gl_cv_func_printf_flag_leftadjust="guessing yes";; |
956 | esac | 1216 | esac |
957 | changequote([,])dnl | 1217 | changequote([,])dnl |
958 | ]) | 1218 | ]) |
@@ -990,18 +1250,62 @@ int main () | |||
990 | [ | 1250 | [ |
991 | changequote(,)dnl | 1251 | changequote(,)dnl |
992 | case "$host_os" in | 1252 | case "$host_os" in |
993 | # Guess yes on glibc systems. | 1253 | # Guess yes on glibc systems. |
994 | *-gnu* | gnu*) gl_cv_func_printf_flag_zero="guessing yes";; | 1254 | *-gnu* | gnu*) gl_cv_func_printf_flag_zero="guessing yes";; |
995 | # Guess yes on musl systems. | 1255 | # Guess yes on musl systems. |
996 | *-musl*) gl_cv_func_printf_flag_zero="guessing yes";; | 1256 | *-musl* | midipix*) gl_cv_func_printf_flag_zero="guessing yes";; |
997 | # Guess yes on BeOS. | 1257 | # Guess yes on BeOS. |
998 | beos*) gl_cv_func_printf_flag_zero="guessing yes";; | 1258 | beos*) gl_cv_func_printf_flag_zero="guessing yes";; |
999 | # Guess no on Android. | 1259 | # Guess no on Android. |
1000 | linux*-android*) gl_cv_func_printf_flag_zero="guessing no";; | 1260 | linux*-android*) gl_cv_func_printf_flag_zero="guessing no";; |
1001 | # Guess no on native Windows. | 1261 | # Guess no on native Windows. |
1002 | mingw*) gl_cv_func_printf_flag_zero="guessing no";; | 1262 | mingw* | windows*) gl_cv_func_printf_flag_zero="guessing no";; |
1003 | # If we don't know, obey --enable-cross-guesses. | 1263 | # If we don't know, obey --enable-cross-guesses. |
1004 | *) gl_cv_func_printf_flag_zero="$gl_cross_guess_normal";; | 1264 | *) gl_cv_func_printf_flag_zero="$gl_cross_guess_normal";; |
1265 | esac | ||
1266 | changequote([,])dnl | ||
1267 | ]) | ||
1268 | ]) | ||
1269 | ]) | ||
1270 | |||
1271 | dnl Test whether the *printf family of functions supports the # flag with a | ||
1272 | dnl zero precision and a zero value in the 'x' and 'X' directives correctly. | ||
1273 | dnl ISO C and POSIX specify that for the 'd', 'i', 'b', 'o', 'u', 'x', 'X' | ||
1274 | dnl directives: "The result of converting a zero value with a precision of | ||
1275 | dnl zero is no characters." But on Mac OS X 10.5, for the 'x', 'X' directives, | ||
1276 | dnl when a # flag is present, the output is "0" instead of "". | ||
1277 | dnl Result is gl_cv_func_printf_flag_alt_precision_zero. | ||
1278 | |||
1279 | AC_DEFUN([gl_PRINTF_FLAG_ALT_PRECISION_ZERO], | ||
1280 | [ | ||
1281 | AC_REQUIRE([AC_PROG_CC]) | ||
1282 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
1283 | AC_CACHE_CHECK([whether printf supports the alternative flag with a zero precision], | ||
1284 | [gl_cv_func_printf_flag_alt_precision_zero], | ||
1285 | [ | ||
1286 | AC_RUN_IFELSE( | ||
1287 | [AC_LANG_SOURCE([[ | ||
1288 | #include <stdio.h> | ||
1289 | static char buf[10]; | ||
1290 | int main () | ||
1291 | { | ||
1292 | int result = 0; | ||
1293 | if (sprintf (buf, "%#.0x %d", 0, 33, 44) > 0 + 3) | ||
1294 | result |= 1; | ||
1295 | return result; | ||
1296 | }]])], | ||
1297 | [gl_cv_func_printf_flag_alt_precision_zero=yes], | ||
1298 | [gl_cv_func_printf_flag_alt_precision_zero=no], | ||
1299 | [ | ||
1300 | changequote(,)dnl | ||
1301 | case "$host_os" in | ||
1302 | # Guess no only on macOS 10..12 systems. | ||
1303 | darwin[0-9] | darwin[0-9].* | \ | ||
1304 | darwin1[0-9] | darwin1[0-9].* | \ | ||
1305 | darwin2[0-1] | darwin2[0-1].*) | ||
1306 | gl_cv_func_printf_flag_alt_precision_zero="guessing no" ;; | ||
1307 | darwin*) gl_cv_func_printf_flag_alt_precision_zero="guessing yes" ;; | ||
1308 | *) gl_cv_func_printf_flag_alt_precision_zero="guessing yes" ;; | ||
1005 | esac | 1309 | esac |
1006 | changequote([,])dnl | 1310 | changequote([,])dnl |
1007 | ]) | 1311 | ]) |
@@ -1054,12 +1358,12 @@ int main () | |||
1054 | changequote(,)dnl | 1358 | changequote(,)dnl |
1055 | case "$host_os" in | 1359 | case "$host_os" in |
1056 | # Guess no only on Solaris, native Windows, and BeOS systems. | 1360 | # Guess no only on Solaris, native Windows, and BeOS systems. |
1057 | solaris*) gl_cv_func_printf_precision="guessing no" ;; | 1361 | solaris*) gl_cv_func_printf_precision="guessing no" ;; |
1058 | mingw* | pw*) gl_cv_func_printf_precision="guessing no" ;; | 1362 | mingw* | windows* | pw*) gl_cv_func_printf_precision="guessing no" ;; |
1059 | beos*) gl_cv_func_printf_precision="guessing no" ;; | 1363 | beos*) gl_cv_func_printf_precision="guessing no" ;; |
1060 | # Guess yes on Android. | 1364 | # Guess yes on Android. |
1061 | linux*-android*) gl_cv_func_printf_precision="guessing yes" ;; | 1365 | linux*-android*) gl_cv_func_printf_precision="guessing yes" ;; |
1062 | *) gl_cv_func_printf_precision="guessing yes" ;; | 1366 | *) gl_cv_func_printf_precision="guessing yes" ;; |
1063 | esac | 1367 | esac |
1064 | changequote([,])dnl | 1368 | changequote([,])dnl |
1065 | ]) | 1369 | ]) |
@@ -1239,7 +1543,7 @@ changequote(,)dnl | |||
1239 | # Guess yes on glibc systems. | 1543 | # Guess yes on glibc systems. |
1240 | *-gnu* | gnu*) gl_cv_func_snprintf_truncation_c99="guessing yes";; | 1544 | *-gnu* | gnu*) gl_cv_func_snprintf_truncation_c99="guessing yes";; |
1241 | # Guess yes on musl systems. | 1545 | # Guess yes on musl systems. |
1242 | *-musl*) gl_cv_func_snprintf_truncation_c99="guessing yes";; | 1546 | *-musl* | midipix*) gl_cv_func_snprintf_truncation_c99="guessing yes";; |
1243 | # Guess yes on FreeBSD >= 5. | 1547 | # Guess yes on FreeBSD >= 5. |
1244 | freebsd[1-4].*) gl_cv_func_snprintf_truncation_c99="guessing no";; | 1548 | freebsd[1-4].*) gl_cv_func_snprintf_truncation_c99="guessing no";; |
1245 | freebsd* | kfreebsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; | 1549 | freebsd* | kfreebsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; |
@@ -1275,7 +1579,7 @@ changequote(,)dnl | |||
1275 | # Guess yes on Android. | 1579 | # Guess yes on Android. |
1276 | linux*-android*) gl_cv_func_snprintf_truncation_c99="guessing yes";; | 1580 | linux*-android*) gl_cv_func_snprintf_truncation_c99="guessing yes";; |
1277 | # Guess no on native Windows. | 1581 | # Guess no on native Windows. |
1278 | mingw*) gl_cv_func_snprintf_truncation_c99="guessing no";; | 1582 | mingw* | windows*) gl_cv_func_snprintf_truncation_c99="guessing no";; |
1279 | # If we don't know, obey --enable-cross-guesses. | 1583 | # If we don't know, obey --enable-cross-guesses. |
1280 | *) gl_cv_func_snprintf_truncation_c99="$gl_cross_guess_normal";; | 1584 | *) gl_cv_func_snprintf_truncation_c99="$gl_cross_guess_normal";; |
1281 | esac | 1585 | esac |
@@ -1344,7 +1648,7 @@ changequote(,)dnl | |||
1344 | # Guess yes on glibc systems. | 1648 | # Guess yes on glibc systems. |
1345 | *-gnu* | gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";; | 1649 | *-gnu* | gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";; |
1346 | # Guess yes on musl systems. | 1650 | # Guess yes on musl systems. |
1347 | *-musl*) gl_cv_func_snprintf_retval_c99="guessing yes";; | 1651 | *-musl* | midipix*) gl_cv_func_snprintf_retval_c99="guessing yes";; |
1348 | # Guess yes on FreeBSD >= 5. | 1652 | # Guess yes on FreeBSD >= 5. |
1349 | freebsd[1-4].*) gl_cv_func_snprintf_retval_c99="guessing no";; | 1653 | freebsd[1-4].*) gl_cv_func_snprintf_retval_c99="guessing no";; |
1350 | freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; | 1654 | freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; |
@@ -1372,7 +1676,8 @@ changequote(,)dnl | |||
1372 | linux*-android*) gl_cv_func_snprintf_retval_c99="guessing yes";; | 1676 | linux*-android*) gl_cv_func_snprintf_retval_c99="guessing yes";; |
1373 | changequote([,])dnl | 1677 | changequote([,])dnl |
1374 | # Guess yes on MSVC, no on mingw. | 1678 | # Guess yes on MSVC, no on mingw. |
1375 | mingw*) AC_EGREP_CPP([Known], [ | 1679 | windows*-msvc*) gl_cv_func_snprintf_retval_c99="guessing yes" ;; |
1680 | mingw* | windows*) AC_EGREP_CPP([Known], [ | ||
1376 | #ifdef _MSC_VER | 1681 | #ifdef _MSC_VER |
1377 | Known | 1682 | Known |
1378 | #endif | 1683 | #endif |
@@ -1401,6 +1706,7 @@ AC_DEFUN([gl_SNPRINTF_DIRECTIVE_N], | |||
1401 | [ | 1706 | [ |
1402 | AC_RUN_IFELSE( | 1707 | AC_RUN_IFELSE( |
1403 | [AC_LANG_SOURCE([[ | 1708 | [AC_LANG_SOURCE([[ |
1709 | #include <signal.h> | ||
1404 | #include <stdio.h> | 1710 | #include <stdio.h> |
1405 | #include <string.h> | 1711 | #include <string.h> |
1406 | #if HAVE_SNPRINTF | 1712 | #if HAVE_SNPRINTF |
@@ -1417,11 +1723,18 @@ static int my_snprintf (char *buf, int size, const char *format, ...) | |||
1417 | return ret; | 1723 | return ret; |
1418 | } | 1724 | } |
1419 | #endif | 1725 | #endif |
1726 | static void | ||
1727 | abort_handler (int sig) | ||
1728 | { | ||
1729 | (void) sig; | ||
1730 | _exit (1); | ||
1731 | } | ||
1420 | static char fmtstring[10]; | 1732 | static char fmtstring[10]; |
1421 | static char buf[100]; | 1733 | static char buf[100]; |
1422 | int main () | 1734 | int main () |
1423 | { | 1735 | { |
1424 | int count = -1; | 1736 | int count = -1; |
1737 | signal (SIGABRT, abort_handler); | ||
1425 | /* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2) | 1738 | /* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2) |
1426 | support %n in format strings in read-only memory but not in writable | 1739 | support %n in format strings in read-only memory but not in writable |
1427 | memory. */ | 1740 | memory. */ |
@@ -1447,7 +1760,7 @@ int main () | |||
1447 | ;; | 1760 | ;; |
1448 | changequote(,)dnl | 1761 | changequote(,)dnl |
1449 | # Guess yes on musl systems. | 1762 | # Guess yes on musl systems. |
1450 | *-musl*) gl_cv_func_snprintf_directive_n="guessing yes";; | 1763 | *-musl* | midipix*) gl_cv_func_snprintf_directive_n="guessing yes";; |
1451 | # Guess yes on FreeBSD >= 5. | 1764 | # Guess yes on FreeBSD >= 5. |
1452 | freebsd[1-4].*) gl_cv_func_snprintf_directive_n="guessing no";; | 1765 | freebsd[1-4].*) gl_cv_func_snprintf_directive_n="guessing no";; |
1453 | freebsd* | kfreebsd*) gl_cv_func_snprintf_directive_n="guessing yes";; | 1766 | freebsd* | kfreebsd*) gl_cv_func_snprintf_directive_n="guessing yes";; |
@@ -1476,7 +1789,7 @@ changequote(,)dnl | |||
1476 | # Guess no on Android. | 1789 | # Guess no on Android. |
1477 | linux*-android*) gl_cv_func_snprintf_directive_n="guessing no";; | 1790 | linux*-android*) gl_cv_func_snprintf_directive_n="guessing no";; |
1478 | # Guess no on native Windows. | 1791 | # Guess no on native Windows. |
1479 | mingw*) gl_cv_func_snprintf_directive_n="guessing no";; | 1792 | mingw* | windows*) gl_cv_func_snprintf_directive_n="guessing no";; |
1480 | # If we don't know, obey --enable-cross-guesses. | 1793 | # If we don't know, obey --enable-cross-guesses. |
1481 | *) gl_cv_func_snprintf_directive_n="$gl_cross_guess_normal";; | 1794 | *) gl_cv_func_snprintf_directive_n="$gl_cross_guess_normal";; |
1482 | changequote([,])dnl | 1795 | changequote([,])dnl |
@@ -1524,11 +1837,11 @@ int main() | |||
1524 | [gl_cv_func_snprintf_size1=yes], | 1837 | [gl_cv_func_snprintf_size1=yes], |
1525 | [gl_cv_func_snprintf_size1=no], | 1838 | [gl_cv_func_snprintf_size1=no], |
1526 | [case "$host_os" in | 1839 | [case "$host_os" in |
1527 | # Guess yes on Android. | 1840 | # Guess yes on Android. |
1528 | linux*-android*) gl_cv_func_snprintf_size1="guessing yes" ;; | 1841 | linux*-android*) gl_cv_func_snprintf_size1="guessing yes" ;; |
1529 | # Guess yes on native Windows. | 1842 | # Guess yes on native Windows. |
1530 | mingw*) gl_cv_func_snprintf_size1="guessing yes" ;; | 1843 | mingw* | windows*) gl_cv_func_snprintf_size1="guessing yes" ;; |
1531 | *) gl_cv_func_snprintf_size1="guessing yes" ;; | 1844 | *) gl_cv_func_snprintf_size1="guessing yes" ;; |
1532 | esac | 1845 | esac |
1533 | ]) | 1846 | ]) |
1534 | ]) | 1847 | ]) |
@@ -1601,128 +1914,320 @@ int main() | |||
1601 | [ | 1914 | [ |
1602 | changequote(,)dnl | 1915 | changequote(,)dnl |
1603 | case "$host_os" in | 1916 | case "$host_os" in |
1604 | # Guess yes on glibc systems. | 1917 | # Guess yes on glibc systems. |
1605 | *-gnu* | gnu*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | 1918 | *-gnu* | gnu*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; |
1606 | # Guess yes on musl systems. | 1919 | # Guess yes on musl systems. |
1607 | *-musl*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | 1920 | *-musl* | midipix*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; |
1608 | # Guess yes on FreeBSD >= 5. | 1921 | # Guess yes on FreeBSD >= 5. |
1609 | freebsd[1-4].*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; | 1922 | freebsd[1-4].*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; |
1610 | freebsd* | kfreebsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | 1923 | freebsd* | kfreebsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; |
1611 | midnightbsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | 1924 | midnightbsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; |
1612 | # Guess yes on Mac OS X >= 10.3. | 1925 | # Guess yes on Mac OS X >= 10.3. |
1613 | darwin[1-6].*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; | 1926 | darwin[1-6].*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; |
1614 | darwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | 1927 | darwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; |
1615 | # Guess yes on Cygwin. | 1928 | # Guess yes on Cygwin. |
1616 | cygwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | 1929 | cygwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; |
1617 | # Guess yes on Solaris >= 2.6. | 1930 | # Guess yes on Solaris >= 2.6. |
1618 | solaris2.[0-5] | solaris2.[0-5].*) | 1931 | solaris2.[0-5] | solaris2.[0-5].*) |
1619 | gl_cv_func_vsnprintf_zerosize_c99="guessing no";; | 1932 | gl_cv_func_vsnprintf_zerosize_c99="guessing no";; |
1620 | solaris*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | 1933 | solaris*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; |
1621 | # Guess yes on AIX >= 4. | 1934 | # Guess yes on AIX >= 4. |
1622 | aix[1-3]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; | 1935 | aix[1-3]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; |
1623 | aix*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | 1936 | aix*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; |
1624 | # Guess yes on IRIX >= 6.5. | 1937 | # Guess yes on IRIX >= 6.5. |
1625 | irix6.5) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | 1938 | irix6.5) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; |
1626 | # Guess yes on NetBSD >= 3. | 1939 | # Guess yes on NetBSD >= 3. |
1627 | netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) | 1940 | netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) |
1628 | gl_cv_func_vsnprintf_zerosize_c99="guessing no";; | 1941 | gl_cv_func_vsnprintf_zerosize_c99="guessing no";; |
1629 | netbsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | 1942 | netbsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; |
1630 | # Guess yes on BeOS. | 1943 | # Guess yes on BeOS. |
1631 | beos*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | 1944 | beos*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; |
1632 | # Guess yes on Android. | 1945 | # Guess yes on Android. |
1633 | linux*-android*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | 1946 | linux*-android*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; |
1634 | # Guess yes on native Windows. | 1947 | # Guess yes on native Windows. |
1635 | mingw* | pw*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; | 1948 | mingw* | windows* | pw*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; |
1636 | # If we don't know, obey --enable-cross-guesses. | 1949 | # If we don't know, obey --enable-cross-guesses. |
1637 | *) gl_cv_func_vsnprintf_zerosize_c99="$gl_cross_guess_normal";; | 1950 | *) gl_cv_func_vsnprintf_zerosize_c99="$gl_cross_guess_normal";; |
1638 | esac | 1951 | esac |
1639 | changequote([,])dnl | 1952 | changequote([,])dnl |
1640 | ]) | 1953 | ]) |
1641 | ]) | 1954 | ]) |
1642 | ]) | 1955 | ]) |
1643 | 1956 | ||
1957 | dnl Test whether the swprintf function works correctly when it produces output | ||
1958 | dnl that contains null wide characters. | ||
1959 | dnl Result is gl_cv_func_swprintf_works. | ||
1960 | |||
1961 | AC_DEFUN([gl_SWPRINTF_WORKS], | ||
1962 | [ | ||
1963 | AC_REQUIRE([AC_PROG_CC]) | ||
1964 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
1965 | AC_CHECK_FUNCS_ONCE([swprintf]) | ||
1966 | AC_CACHE_CHECK([whether swprintf works], | ||
1967 | [gl_cv_func_swprintf_works], | ||
1968 | [ | ||
1969 | AC_RUN_IFELSE( | ||
1970 | [AC_LANG_SOURCE([[ | ||
1971 | #ifndef __USE_MINGW_ANSI_STDIO | ||
1972 | # define __USE_MINGW_ANSI_STDIO 1 | ||
1973 | #endif | ||
1974 | #include <stdio.h> | ||
1975 | #include <wchar.h> | ||
1976 | int main() | ||
1977 | { | ||
1978 | int result = 0; | ||
1979 | { /* This test fails on musl libc 1.2.3, FreeBSD, NetBSD, OpenBSD, macOS, AIX. */ | ||
1980 | wchar_t buf[5] = { 0xBEEF, 0xBEEF, 0xBEEF, 0xBEEF, 0xBEEF }; | ||
1981 | int ret = swprintf (buf, 4, L"%cz", '\0'); | ||
1982 | /* Expected result: | ||
1983 | ret = 2, buf[0] = 0x0, buf[1] = 0x7a, buf[2] = 0x0, buf[3] = 0xbeef | ||
1984 | musl libc 1.2.3: | ||
1985 | ret = 2, buf[0] = 0x0, buf[1] = 0x0, buf[2] = 0x0, buf[3] = 0x0 | ||
1986 | Reported at <https://www.openwall.com/lists/musl/2023/03/22/9>. | ||
1987 | FreeBSD 13.1, NetBSD 9.0, OpenBSD 7.2, macOS 12.5, AIX 7.2: | ||
1988 | ret = 2, buf[0] = 0x0, buf[1] = 0xbeef, buf[2] = 0xbeef, buf[3] = 0xbeef | ||
1989 | */ | ||
1990 | if (ret < 0 || buf[1] != 'z') | ||
1991 | result |= 1; | ||
1992 | } | ||
1993 | { /* This test fails on mingw. */ | ||
1994 | wchar_t buf[2]; | ||
1995 | int ret = swprintf (buf, 2, L"%lc", (wint_t)0); | ||
1996 | /* Expected: ret = 1 | ||
1997 | mingw: ret = 0 | ||
1998 | */ | ||
1999 | if (ret != 1) | ||
2000 | result |= 2; | ||
2001 | } | ||
2002 | return result; | ||
2003 | }]])], | ||
2004 | [gl_cv_func_swprintf_works=yes], | ||
2005 | [gl_cv_func_swprintf_works=no], | ||
2006 | [case "$host_os" in | ||
2007 | # Guess yes on glibc systems. | ||
2008 | *-gnu* | gnu*) gl_cv_func_swprintf_works="guessing yes";; | ||
2009 | # Guess no on musl systems. | ||
2010 | *-musl* | midipix*) gl_cv_func_swprintf_works="guessing no";; | ||
2011 | # Guess no on FreeBSD, NetBSD, OpenBSD, macOS, AIX. | ||
2012 | freebsd* | midnightbsd* | netbsd* | openbsd* | darwin* | aix*) | ||
2013 | gl_cv_func_swprintf_works="guessing no";; | ||
2014 | # Guess no on native Windows. | ||
2015 | mingw* | windows* | pw*) gl_cv_func_swprintf_works="guessing no";; | ||
2016 | # If we don't know, obey --enable-cross-guesses. | ||
2017 | *) gl_cv_func_swprintf_works="$gl_cross_guess_normal";; | ||
2018 | esac | ||
2019 | ]) | ||
2020 | ]) | ||
2021 | ]) | ||
2022 | |||
2023 | dnl Test whether the *wprintf family of functions supports the 'a' and 'A' | ||
2024 | dnl conversion specifier for hexadecimal output of 'long double' numbers. | ||
2025 | dnl (ISO C99, POSIX:2001) | ||
2026 | dnl Result is gl_cv_func_swprintf_directive_la. | ||
2027 | |||
2028 | AC_DEFUN([gl_SWPRINTF_DIRECTIVE_LA], | ||
2029 | [ | ||
2030 | AC_REQUIRE([AC_PROG_CC]) | ||
2031 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
2032 | AC_CACHE_CHECK([whether swprintf supports the 'La' and 'LA' directives], | ||
2033 | [gl_cv_func_swprintf_directive_la], | ||
2034 | [ | ||
2035 | AC_RUN_IFELSE( | ||
2036 | [AC_LANG_SOURCE([[ | ||
2037 | #include <stdio.h> | ||
2038 | #include <wchar.h> | ||
2039 | static wchar_t buf[100]; | ||
2040 | int main () | ||
2041 | { | ||
2042 | int result = 0; | ||
2043 | /* This catches a glibc 2.15, Haiku 2022, NetBSD 10.0 bug. */ | ||
2044 | if (swprintf (buf, sizeof (buf) / sizeof (wchar_t), | ||
2045 | L"%La %d", 3.1416015625L, 33, 44, 55) < 0 | ||
2046 | || (wcscmp (buf, L"0x1.922p+1 33") != 0 | ||
2047 | && wcscmp (buf, L"0x3.244p+0 33") != 0 | ||
2048 | && wcscmp (buf, L"0x6.488p-1 33") != 0 | ||
2049 | && wcscmp (buf, L"0xc.91p-2 33") != 0)) | ||
2050 | result |= 1; | ||
2051 | return result; | ||
2052 | }]])], | ||
2053 | [gl_cv_func_swprintf_directive_la=yes], | ||
2054 | [gl_cv_func_swprintf_directive_la=no], | ||
2055 | [case "$host_os" in | ||
2056 | # Guess yes on glibc >= 2.17 systems. | ||
2057 | *-gnu* | gnu*) | ||
2058 | AC_EGREP_CPP([Unlucky], [ | ||
2059 | #include <features.h> | ||
2060 | #ifdef __GNU_LIBRARY__ | ||
2061 | #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16) || (__GLIBC__ > 2)) && !defined __UCLIBC__ | ||
2062 | Unlucky | ||
2063 | #endif | ||
2064 | #endif | ||
2065 | ], | ||
2066 | [gl_cv_func_swprintf_directive_la="guessing yes"], | ||
2067 | [gl_cv_func_swprintf_directive_la="guessing no"]) | ||
2068 | ;; | ||
2069 | # Guess yes on musl systems. | ||
2070 | *-musl* | midipix*) gl_cv_func_swprintf_directive_la="guessing yes";; | ||
2071 | # Guess yes on Android. | ||
2072 | linux*-android*) gl_cv_func_swprintf_directive_la="guessing yes";; | ||
2073 | # Guess no on NetBSD. | ||
2074 | netbsd*) gl_cv_func_swprintf_directive_la="guessing no";; | ||
2075 | # Guess no on native Windows. | ||
2076 | mingw* | windows*) gl_cv_func_swprintf_directive_la="guessing no";; | ||
2077 | # If we don't know, obey --enable-cross-guesses. | ||
2078 | *) gl_cv_func_swprintf_directive_la="$gl_cross_guess_normal";; | ||
2079 | esac | ||
2080 | ]) | ||
2081 | ]) | ||
2082 | ]) | ||
2083 | |||
2084 | dnl Test whether the *wprintf family of functions supports the 'lc' conversion | ||
2085 | dnl specifier for all wide characters. | ||
2086 | dnl (ISO C11, POSIX:2001) | ||
2087 | dnl Result is gl_cv_func_swprintf_directive_lc. | ||
2088 | |||
2089 | AC_DEFUN([gl_SWPRINTF_DIRECTIVE_LC], | ||
2090 | [ | ||
2091 | AC_REQUIRE([AC_PROG_CC]) | ||
2092 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
2093 | AC_CACHE_CHECK([whether swprintf supports the 'lc' directive], | ||
2094 | [gl_cv_func_swprintf_directive_lc], | ||
2095 | [ | ||
2096 | AC_RUN_IFELSE( | ||
2097 | [AC_LANG_SOURCE([[ | ||
2098 | #include <stdio.h> | ||
2099 | #include <wchar.h> | ||
2100 | static wchar_t buf[100]; | ||
2101 | static wint_t L_invalid = (wchar_t) 0x76543210; | ||
2102 | int main () | ||
2103 | { | ||
2104 | int result = 0; | ||
2105 | /* This catches a musl libc 1.2.4, Android bug. | ||
2106 | Reported at <https://www.openwall.com/lists/musl/2023/06/12/3>. */ | ||
2107 | if (swprintf (buf, sizeof (buf) / sizeof (wchar_t), | ||
2108 | L"%lc %d", L_invalid, 33, 44, 55) < 0) | ||
2109 | result |= 1; | ||
2110 | return result; | ||
2111 | }]])], | ||
2112 | [gl_cv_func_swprintf_directive_lc=yes], | ||
2113 | [gl_cv_func_swprintf_directive_lc=no], | ||
2114 | [case "$host_os" in | ||
2115 | # Guess yes on glibc systems. | ||
2116 | *-gnu* | gnu*) gl_cv_func_swprintf_directive_lc="guessing yes";; | ||
2117 | # Guess no on musl systems. | ||
2118 | *-musl* | midipix*) gl_cv_func_swprintf_directive_lc="guessing no";; | ||
2119 | # Guess no on Android. | ||
2120 | linux*-android*) gl_cv_func_swprintf_directive_lc="guessing no";; | ||
2121 | # Guess yes on native Windows. | ||
2122 | mingw* | windows*) gl_cv_func_swprintf_directive_lc="guessing yes";; | ||
2123 | # If we don't know, obey --enable-cross-guesses. | ||
2124 | *) gl_cv_func_swprintf_directive_lc="$gl_cross_guess_normal";; | ||
2125 | esac | ||
2126 | ]) | ||
2127 | ]) | ||
2128 | ]) | ||
2129 | |||
1644 | dnl The results of these tests on various platforms are: | 2130 | dnl The results of these tests on various platforms are: |
1645 | dnl | 2131 | dnl |
1646 | dnl 1 = gl_PRINTF_SIZES_C99 | 2132 | dnl 1 = gl_PRINTF_SIZES_C99 |
1647 | dnl 2 = gl_PRINTF_LONG_DOUBLE | 2133 | dnl 2 = gl_PRINTF_SIZES_C23 |
1648 | dnl 3 = gl_PRINTF_INFINITE | 2134 | dnl 3 = gl_PRINTF_LONG_DOUBLE |
1649 | dnl 4 = gl_PRINTF_INFINITE_LONG_DOUBLE | 2135 | dnl 4 = gl_PRINTF_INFINITE |
1650 | dnl 5 = gl_PRINTF_DIRECTIVE_A | 2136 | dnl 5 = gl_PRINTF_INFINITE_LONG_DOUBLE |
1651 | dnl 6 = gl_PRINTF_DIRECTIVE_F | 2137 | dnl 6 = gl_PRINTF_DIRECTIVE_A |
1652 | dnl 7 = gl_PRINTF_DIRECTIVE_N | 2138 | dnl 7 = gl_PRINTF_DIRECTIVE_B |
1653 | dnl 8 = gl_PRINTF_DIRECTIVE_LS | 2139 | dnl 8 = gl_PRINTF_DIRECTIVE_UPPERCASE_B |
1654 | dnl 9 = gl_PRINTF_POSITIONS | 2140 | dnl 9 = gl_PRINTF_DIRECTIVE_F |
1655 | dnl 10 = gl_PRINTF_FLAG_GROUPING | 2141 | dnl 10 = gl_PRINTF_DIRECTIVE_N |
1656 | dnl 11 = gl_PRINTF_FLAG_LEFTADJUST | 2142 | dnl 11 = gl_PRINTF_DIRECTIVE_LS |
1657 | dnl 12 = gl_PRINTF_FLAG_ZERO | 2143 | dnl 12 = gl_PRINTF_DIRECTIVE_LC |
1658 | dnl 13 = gl_PRINTF_PRECISION | 2144 | dnl 13 = gl_PRINTF_POSITIONS |
1659 | dnl 14 = gl_PRINTF_ENOMEM | 2145 | dnl 14 = gl_PRINTF_FLAG_GROUPING |
1660 | dnl 15 = gl_SNPRINTF_PRESENCE | 2146 | dnl 15 = gl_PRINTF_FLAG_LEFTADJUST |
1661 | dnl 16 = gl_SNPRINTF_TRUNCATION_C99 | 2147 | dnl 16 = gl_PRINTF_FLAG_ZERO |
1662 | dnl 17 = gl_SNPRINTF_RETVAL_C99 | 2148 | dnl 17 = gl_PRINTF_FLAG_ALT_PRECISION_ZERO |
1663 | dnl 18 = gl_SNPRINTF_DIRECTIVE_N | 2149 | dnl 18 = gl_PRINTF_PRECISION |
1664 | dnl 19 = gl_SNPRINTF_SIZE1 | 2150 | dnl 19 = gl_PRINTF_ENOMEM |
1665 | dnl 20 = gl_VSNPRINTF_ZEROSIZE_C99 | 2151 | dnl 20 = gl_SNPRINTF_PRESENCE |
2152 | dnl 21 = gl_SNPRINTF_TRUNCATION_C99 | ||
2153 | dnl 22 = gl_SNPRINTF_RETVAL_C99 | ||
2154 | dnl 23 = gl_SNPRINTF_DIRECTIVE_N | ||
2155 | dnl 24 = gl_SNPRINTF_SIZE1 | ||
2156 | dnl 25 = gl_VSNPRINTF_ZEROSIZE_C99 | ||
2157 | dnl 26 = gl_SWPRINTF_WORKS | ||
2158 | dnl 27 = gl_SWPRINTF_DIRECTIVE_LA | ||
2159 | dnl 28 = gl_SWPRINTF_DIRECTIVE_LC | ||
1666 | dnl | 2160 | dnl |
1667 | dnl 1 = checking whether printf supports size specifiers as in C99... | 2161 | dnl 1 = checking whether printf supports size specifiers as in C99... |
1668 | dnl 2 = checking whether printf supports 'long double' arguments... | 2162 | dnl 2 = checking whether printf supports size specifiers as in C23... |
1669 | dnl 3 = checking whether printf supports infinite 'double' arguments... | 2163 | dnl 3 = checking whether printf supports 'long double' arguments... |
1670 | dnl 4 = checking whether printf supports infinite 'long double' arguments... | 2164 | dnl 4 = checking whether printf supports infinite 'double' arguments... |
1671 | dnl 5 = checking whether printf supports the 'a' and 'A' directives... | 2165 | dnl 5 = checking whether printf supports infinite 'long double' arguments... |
1672 | dnl 6 = checking whether printf supports the 'F' directive... | 2166 | dnl 6 = checking whether printf supports the 'a' and 'A' directives... |
1673 | dnl 7 = checking whether printf supports the 'n' directive... | 2167 | dnl 7 = checking whether printf supports the 'b' directive... |
1674 | dnl 8 = checking whether printf supports the 'ls' directive... | 2168 | dnl 8 = checking whether printf supports the 'B' directive... |
1675 | dnl 9 = checking whether printf supports POSIX/XSI format strings with positions... | 2169 | dnl 9 = checking whether printf supports the 'F' directive... |
1676 | dnl 10 = checking whether printf supports the grouping flag... | 2170 | dnl 10 = checking whether printf supports the 'n' directive... |
1677 | dnl 11 = checking whether printf supports the left-adjust flag correctly... | 2171 | dnl 11 = checking whether printf supports the 'ls' directive... |
1678 | dnl 12 = checking whether printf supports the zero flag correctly... | 2172 | dnl 12 = checking whether printf supports the 'lc' directive correctly... |
1679 | dnl 13 = checking whether printf supports large precisions... | 2173 | dnl 13 = checking whether printf supports POSIX/XSI format strings with positions... |
1680 | dnl 14 = checking whether printf survives out-of-memory conditions... | 2174 | dnl 14 = checking whether printf supports the grouping flag... |
1681 | dnl 15 = checking for snprintf... | 2175 | dnl 15 = checking whether printf supports the left-adjust flag correctly... |
1682 | dnl 16 = checking whether snprintf truncates the result as in C99... | 2176 | dnl 16 = checking whether printf supports the zero flag correctly... |
1683 | dnl 17 = checking whether snprintf returns a byte count as in C99... | 2177 | dnl 17 = checking whether printf supports the alternative flag with a zero precision... |
1684 | dnl 18 = checking whether snprintf fully supports the 'n' directive... | 2178 | dnl 18 = checking whether printf supports large precisions... |
1685 | dnl 19 = checking whether snprintf respects a size of 1... | 2179 | dnl 19 = checking whether printf survives out-of-memory conditions... |
1686 | dnl 20 = checking whether vsnprintf respects a zero size as in C99... | 2180 | dnl 20 = checking for snprintf... |
2181 | dnl 21 = checking whether snprintf truncates the result as in C99... | ||
2182 | dnl 22 = checking whether snprintf returns a byte count as in C99... | ||
2183 | dnl 23 = checking whether snprintf fully supports the 'n' directive... | ||
2184 | dnl 24 = checking whether snprintf respects a size of 1... | ||
2185 | dnl 25 = checking whether vsnprintf respects a zero size as in C99... | ||
2186 | dnl 26 = checking whether swprintf works... | ||
2187 | dnl 27 = checking whether swprintf supports the 'La' and 'LA' directives... | ||
2188 | dnl 28 = checking whether swprintf supports the 'lc' directive... | ||
1687 | dnl | 2189 | dnl |
1688 | dnl . = yes, # = no. | 2190 | dnl . = yes, # = no. |
1689 | dnl | 2191 | dnl |
1690 | dnl 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 2192 | dnl 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
1691 | dnl glibc 2.5 . . . . . . . . . . . . . . . . . . . . | 2193 | dnl musl libc 1.2.3 . # . . . . # # . . . # . . . . ? . . . . . . . . # . # |
1692 | dnl glibc 2.3.6 . . . . # . . . . . . . . . . . . . . . | 2194 | dnl glibc 2.35 . # . . . . . . . . . . . . . . . . . . . . . . . . . . |
1693 | dnl FreeBSD 13.0 . . . . # . . . . . . . . # . . . . . . | 2195 | dnl glibc 2.5 . # . . . . # # . . . . . . . . . . . . . . . . . . # . |
1694 | dnl FreeBSD 5.4, 6.1 . . . . # . . . . . . # . # . . . . . . | 2196 | dnl glibc 2.3.6 . # . . . # # # . . . . . . . . . . . . . . . . . . # . |
1695 | dnl Mac OS X 10.13.5 . . . # # . # . . . . . . . . . . # . . | 2197 | dnl FreeBSD 14.0 . . . . . # . . . . . . . . . . . . # . . . . . . # . # |
1696 | dnl Mac OS X 10.5.8 . . . # # . . . . . . # . . . . . . . . | 2198 | dnl FreeBSD 13.0 . # . . . # # # . . . . . . . . . . # . . . . . . # . # |
1697 | dnl Mac OS X 10.3.9 . . . . # . . . . . . # . # . . . . . . | 2199 | dnl FreeBSD 5.4, 6.1 . # . . . # # # . . . . . . . # ? . # . . . . . . # ? ? |
1698 | dnl OpenBSD 6.0, 6.7 . . . . # . . . . . . . . # . . . . . . | 2200 | dnl Mac OS X 10.13.5 . # . . # # # # . # . . . . . . . . . . . . # . . # ? ? |
1699 | dnl OpenBSD 3.9, 4.0 . . # # # # . # . # . # . # . . . . . . | 2201 | dnl Mac OS X 10.5.8 . # . . # # # # . . . . . . . # # . . . . . . . . # ? ? |
1700 | dnl Cygwin 1.7.0 (2009) . . . # . . . ? . . . . . ? . . . . . . | 2202 | dnl Mac OS X 10.3.9 . # . . . # # # . . . . . . . # # . # . . . . . . # ? ? |
1701 | dnl Cygwin 1.5.25 (2008) . . . # # . . # . . . . . # . . . . . . | 2203 | dnl OpenBSD 6.0, 6.7 . # . . . # # # . . . . . . . . . . # . . . . . . # . # |
1702 | dnl Cygwin 1.5.19 (2006) # . . # # # . # . # . # # # . . . . . . | 2204 | dnl OpenBSD 3.9, 4.0 . # . # # # # # # . # . . # . # ? . # . . . . . . # ? ? |
1703 | dnl Solaris 11.4 . . # # # . . # . . . # . . . . . . . . | 2205 | dnl Cygwin 1.7.0 (2009) . # . . # . # # . . ? ? . . . . ? . ? . . . . . . ? ? ? |
1704 | dnl Solaris 11.3 . . . . # . . # . . . . . . . . . . . . | 2206 | dnl Cygwin 1.5.25 (2008) . # . . # # # # . . # ? . . . . ? . # . . . . . . ? ? ? |
1705 | dnl Solaris 11.0 . . # # # . . # . . . # . . . . . . . . | 2207 | dnl Cygwin 1.5.19 (2006) # # . . # # # # # . # ? . # . # ? # # . . . . . . ? ? ? |
1706 | dnl Solaris 10 . . # # # . . # . . . # # . . . . . . . | 2208 | dnl Solaris 11.4 . # . # # # # # . . # . . . . # . . . . . . . . . . # . |
1707 | dnl Solaris 2.6 ... 9 # . # # # # . # . . . # # . . . # . . . | 2209 | dnl Solaris 11.3 . # . . . # # # . . # . . . . . . . . . . . . . . . # . |
1708 | dnl Solaris 2.5.1 # . # # # # . # . . . # . . # # # # # # | 2210 | dnl Solaris 11.0 . # . # # # # # . . # . . . . # . . . . . . . . . ? ? ? |
1709 | dnl AIX 7.1 . . # # # . . . . . . # # . . . . . . . | 2211 | dnl Solaris 10 . # . # # # # # . . # . . . . # . # . . . . . . . . # . |
1710 | dnl AIX 5.2 . . # # # . . . . . . # . . . . . . . . | 2212 | dnl Solaris 2.6 ... 9 # # . # # # # # # . # . . . . # ? # . . . # . . . ? ? ? |
1711 | dnl AIX 4.3.2, 5.1 # . # # # # . . . . . # . . . . # . . . | 2213 | dnl Solaris 2.5.1 # # . # # # # # # . # . . . . # ? . . # # # # # # ? ? ? |
1712 | dnl HP-UX 11.31 . . . . # . . . . . . # . . . . # # . . | 2214 | dnl AIX 7.1 . # . # # # # # . . . . . . . # . # . . . . . . . # . . |
1713 | dnl HP-UX 11.{00,11,23} # . . . # # . . . . . # . . . . # # . # | 2215 | dnl AIX 5.2 . # . # # # # # . . . . . . . # ? . . . . . . . . # ? ? |
1714 | dnl HP-UX 10.20 # . # . # # . ? . . # # . . . . # # ? # | 2216 | dnl AIX 4.3.2, 5.1 # # . # # # # # # . . . . . . # ? . . . . # . . . # ? ? |
1715 | dnl IRIX 6.5 # . # # # # . # . . . # . . . . # . . . | 2217 | dnl HP-UX 11.31 . # . . . # # # . . . ? . . . # ? . . . . # # . . ? ? ? |
1716 | dnl OSF/1 5.1 # . # # # # . . . . . # . . . . # . . # | 2218 | dnl HP-UX 11.{00,11,23} # # . . . # # # # . . ? . . . # ? . . . . # # . # ? ? ? |
1717 | dnl OSF/1 4.0d # . # # # # . . . . . # . . # # # # # # | 2219 | dnl HP-UX 10.20 # # . # . # # # # . ? ? . . # # ? . . . . # # ? # ? ? ? |
1718 | dnl NetBSD 9.0 . . . . # . . . . . . . . . . . . . . . | 2220 | dnl IRIX 6.5 # # . # # # # # # . # . . . . # ? . . . . # . . . # ? ? |
1719 | dnl NetBSD 5.0 . . . # # . . . . . . # . # . . . . . . | 2221 | dnl OSF/1 5.1 # # . # # # # # # . . ? . . . # ? . . . . # . . # ? ? ? |
1720 | dnl NetBSD 4.0 . ? ? ? ? ? . ? . ? ? ? ? ? . . . ? ? ? | 2222 | dnl OSF/1 4.0d # # . # # # # # # . . ? . . . # ? . . # # # # # # ? ? ? |
1721 | dnl NetBSD 3.0 . . . . # # . ? # # ? # . # . . . . . . | 2223 | dnl NetBSD 9.0 . # . . . # # # . . . . . . . . . . . . . . . . . # . # |
1722 | dnl Haiku . . . # # # . # . . . . . ? . . ? . . . | 2224 | dnl NetBSD 5.0 . # . . # # # # . . . . . . . # ? . # . . . . . . # ? ? |
1723 | dnl BeOS # # . # # # . ? # . ? . # ? . . ? . . . | 2225 | dnl NetBSD 4.0 . # ? ? ? ? # # ? . ? . . ? ? ? ? ? ? . . . ? ? ? # ? ? |
1724 | dnl Android 4.3 . . # # # # # # . # . # . # . . . # . . | 2226 | dnl NetBSD 3.0 . # . . . # # # # . ? . # # ? # ? . # . . . . . . # ? ? |
1725 | dnl old mingw / msvcrt # # # # # # . . # # . # # ? . # # # . . | 2227 | dnl Haiku . # . . # # # # # . # ? . . . . ? . ? . . ? . . . . # . |
1726 | dnl MSVC 9 # # # # # # # . # # . # # ? # # # # . . | 2228 | dnl BeOS # # # . # # # # # . ? ? # . ? . ? # ? . . ? . . . ? ? ? |
1727 | dnl mingw 2009-2011 . # . # . . . . # # . . . ? . . . . . . | 2229 | dnl Android 4.3 . # . # # # # # # # # ? . # . # ? . # . . . # . . ? ? ? |
1728 | dnl mingw-w64 2011 # # # # # # . . # # . # # ? . # # # . . | 2230 | dnl old mingw / msvcrt # # # # # # # # # . . ? # # . # ? # ? . # # # . . # ? ? |
2231 | dnl MSVC 9 # # # # # # # # # # . ? # # . # ? # ? # # # # . . # ? ? | ||
2232 | dnl mingw 2009-2011 . # # . # . # # . . . ? # # . . ? . ? . . . . . . # ? ? | ||
2233 | dnl mingw-w64 2011 # # # # # # # # # . . ? # # . # ? # ? . # # # . . # ? ? | ||
diff --git a/gl/m4/pthread_rwlock_rdlock.m4 b/gl/m4/pthread_rwlock_rdlock.m4 index ae6a8853..b8b5b117 100644 --- a/gl/m4/pthread_rwlock_rdlock.m4 +++ b/gl/m4/pthread_rwlock_rdlock.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # pthread_rwlock_rdlock.m4 serial 4 | 1 | # pthread_rwlock_rdlock.m4 |
2 | dnl Copyright (C) 2017-2023 Free Software Foundation, Inc. | 2 | # serial 8 |
3 | dnl Copyright (C) 2017-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -34,11 +35,11 @@ dnl https://sourceware.org/bugzilla/show_bug.cgi?id=13701 | |||
34 | dnl https://bugzilla.redhat.com/show_bug.cgi?id=1410052 | 35 | dnl https://bugzilla.redhat.com/show_bug.cgi?id=1410052 |
35 | AC_DEFUN([gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER], | 36 | AC_DEFUN([gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER], |
36 | [ | 37 | [ |
37 | AC_REQUIRE([gl_THREADLIB_EARLY]) | 38 | AC_REQUIRE([gl_THREADLIB]) |
38 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | 39 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles |
39 | AC_CACHE_CHECK([whether pthread_rwlock_rdlock prefers a writer to a reader], | 40 | AC_CACHE_CHECK([whether pthread_rwlock_rdlock prefers a writer to a reader], |
40 | [gl_cv_pthread_rwlock_rdlock_prefer_writer], | 41 | [gl_cv_pthread_rwlock_rdlock_prefer_writer], |
41 | [save_LIBS="$LIBS" | 42 | [saved_LIBS="$LIBS" |
42 | LIBS="$LIBS $LIBMULTITHREAD" | 43 | LIBS="$LIBS $LIBMULTITHREAD" |
43 | AC_RUN_IFELSE( | 44 | AC_RUN_IFELSE( |
44 | [AC_LANG_SOURCE([[ | 45 | [AC_LANG_SOURCE([[ |
@@ -156,25 +157,25 @@ main () | |||
156 | [gl_cv_pthread_rwlock_rdlock_prefer_writer=yes], | 157 | [gl_cv_pthread_rwlock_rdlock_prefer_writer=yes], |
157 | [gl_cv_pthread_rwlock_rdlock_prefer_writer=no], | 158 | [gl_cv_pthread_rwlock_rdlock_prefer_writer=no], |
158 | [case "$host_os" in | 159 | [case "$host_os" in |
159 | # Guess no on glibc systems. | 160 | # Guess no on glibc systems. |
160 | *-gnu* | gnu*) gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no" ;; | 161 | *-gnu* | gnu*) gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no" ;; |
161 | # Guess no on musl systems. | 162 | # Guess no on musl systems. |
162 | *-musl*) gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no" ;; | 163 | *-musl* | midipix*) gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no" ;; |
163 | # Guess no on bionic systems. | 164 | # Guess no on bionic systems. |
164 | *-android*) gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no" ;; | 165 | *-android*) gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no" ;; |
165 | # Guess yes on native Windows with the mingw-w64 winpthreads library. | 166 | # Guess yes on native Windows with the mingw-w64 winpthreads library. |
166 | # Guess no on native Windows with the gnulib windows-rwlock module. | 167 | # Guess no on native Windows with the gnulib windows-rwlock module. |
167 | mingw*) if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then | 168 | mingw* | windows*) if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then |
168 | gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing yes" | 169 | gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing yes" |
169 | else | 170 | else |
170 | gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no" | 171 | gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no" |
171 | fi | 172 | fi |
172 | ;; | 173 | ;; |
173 | # If we don't know, obey --enable-cross-guesses. | 174 | # If we don't know, obey --enable-cross-guesses. |
174 | *) gl_cv_pthread_rwlock_rdlock_prefer_writer="$gl_cross_guess_normal" ;; | 175 | *) gl_cv_pthread_rwlock_rdlock_prefer_writer="$gl_cross_guess_normal" ;; |
175 | esac | 176 | esac |
176 | ]) | 177 | ]) |
177 | LIBS="$save_LIBS" | 178 | LIBS="$saved_LIBS" |
178 | ]) | 179 | ]) |
179 | case "$gl_cv_pthread_rwlock_rdlock_prefer_writer" in | 180 | case "$gl_cv_pthread_rwlock_rdlock_prefer_writer" in |
180 | *yes) | 181 | *yes) |
diff --git a/gl/m4/realloc.m4 b/gl/m4/realloc.m4 index d22138fc..eb90d588 100644 --- a/gl/m4/realloc.m4 +++ b/gl/m4/realloc.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # realloc.m4 serial 26 | 1 | # realloc.m4 |
2 | dnl Copyright (C) 2007, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 29 |
3 | dnl Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -16,7 +17,8 @@ AC_DEFUN([_AC_FUNC_REALLOC_IF], | |||
16 | [[#include <stdlib.h> | 17 | [[#include <stdlib.h> |
17 | ]], | 18 | ]], |
18 | [[void *p = realloc (0, 0); | 19 | [[void *p = realloc (0, 0); |
19 | int result = !p; | 20 | void * volatile vp = p; |
21 | int result = !vp; | ||
20 | free (p); | 22 | free (p); |
21 | return result;]]) | 23 | return result;]]) |
22 | ], | 24 | ], |
@@ -25,8 +27,8 @@ AC_DEFUN([_AC_FUNC_REALLOC_IF], | |||
25 | [case "$host_os" in | 27 | [case "$host_os" in |
26 | # Guess yes on platforms where we know the result. | 28 | # Guess yes on platforms where we know the result. |
27 | *-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \ | 29 | *-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \ |
28 | | gnu* | *-musl* | midnightbsd* \ | 30 | | gnu* | *-musl* | midipix* | midnightbsd* \ |
29 | | hpux* | solaris* | cygwin* | mingw* | msys* ) | 31 | | hpux* | solaris* | cygwin* | mingw* | windows* | msys* ) |
30 | ac_cv_func_realloc_0_nonnull="guessing yes" ;; | 32 | ac_cv_func_realloc_0_nonnull="guessing yes" ;; |
31 | # If we don't know, obey --enable-cross-guesses. | 33 | # If we don't know, obey --enable-cross-guesses. |
32 | *) ac_cv_func_realloc_0_nonnull="$gl_cross_guess_normal" ;; | 34 | *) ac_cv_func_realloc_0_nonnull="$gl_cross_guess_normal" ;; |
diff --git a/gl/m4/reallocarray.m4 b/gl/m4/reallocarray.m4 index 1607b7a9..958095e1 100644 --- a/gl/m4/reallocarray.m4 +++ b/gl/m4/reallocarray.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # reallocarray.m4 serial 3 | 1 | # reallocarray.m4 |
2 | dnl Copyright (C) 2017-2023 Free Software Foundation, Inc. | 2 | # serial 5 |
3 | dnl Copyright (C) 2017-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -11,9 +12,12 @@ AC_DEFUN([gl_FUNC_REALLOCARRAY], | |||
11 | 12 | ||
12 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) | 13 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) |
13 | AC_REQUIRE([gl_CHECK_MALLOC_PTRDIFF]) | 14 | AC_REQUIRE([gl_CHECK_MALLOC_PTRDIFF]) |
14 | AC_CHECK_FUNCS([reallocarray]) | 15 | gl_CHECK_FUNCS_ANDROID([reallocarray], [[#include <stdlib.h>]]) |
15 | if test "$ac_cv_func_reallocarray" = no; then | 16 | if test "$ac_cv_func_reallocarray" = no; then |
16 | HAVE_REALLOCARRAY=0 | 17 | HAVE_REALLOCARRAY=0 |
18 | case "$gl_cv_onwards_func_reallocarray" in | ||
19 | future*) REPLACE_REALLOCARRAY=1 ;; | ||
20 | esac | ||
17 | elif test "$gl_cv_malloc_ptrdiff" = no; then | 21 | elif test "$gl_cv_malloc_ptrdiff" = no; then |
18 | REPLACE_REALLOCARRAY=1 | 22 | REPLACE_REALLOCARRAY=1 |
19 | fi | 23 | fi |
diff --git a/gl/m4/regex.m4 b/gl/m4/regex.m4 index c89a1432..f0101fe6 100644 --- a/gl/m4/regex.m4 +++ b/gl/m4/regex.m4 | |||
@@ -1,10 +1,9 @@ | |||
1 | # serial 73 | 1 | # regex.m4 |
2 | 2 | # serial 75 | |
3 | # Copyright (C) 1996-2001, 2003-2023 Free Software Foundation, Inc. | 3 | dnl Copyright (C) 1996-2001, 2003-2024 Free Software Foundation, Inc. |
4 | # | 4 | dnl This file is free software; the Free Software Foundation |
5 | # This file is free software; the Free Software Foundation | 5 | dnl gives unlimited permission to copy and/or distribute it, |
6 | # gives unlimited permission to copy and/or distribute it, | 6 | dnl with or without modifications, as long as this notice is preserved. |
7 | # with or without modifications, as long as this notice is preserved. | ||
8 | 7 | ||
9 | dnl Initially derived from code in GNU grep. | 8 | dnl Initially derived from code in GNU grep. |
10 | dnl Mostly written by Jim Meyering. | 9 | dnl Mostly written by Jim Meyering. |
@@ -15,7 +14,7 @@ AC_DEFUN([gl_REGEX], | |||
15 | [ | 14 | [ |
16 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | 15 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles |
17 | AC_ARG_WITH([included-regex], | 16 | AC_ARG_WITH([included-regex], |
18 | [AS_HELP_STRING([--without-included-regex], | 17 | [AS_HELP_STRING([[--without-included-regex]], |
19 | [don't compile regex; this is the default on systems | 18 | [don't compile regex; this is the default on systems |
20 | with recent-enough versions of the GNU C Library | 19 | with recent-enough versions of the GNU C Library |
21 | (use with caution on other systems).])]) | 20 | (use with caution on other systems).])]) |
@@ -327,10 +326,10 @@ AC_DEFUN([gl_REGEX], | |||
327 | [gl_cv_func_re_compile_pattern_working=yes], | 326 | [gl_cv_func_re_compile_pattern_working=yes], |
328 | [gl_cv_func_re_compile_pattern_working=no], | 327 | [gl_cv_func_re_compile_pattern_working=no], |
329 | [case "$host_os" in | 328 | [case "$host_os" in |
330 | # Guess no on native Windows. | 329 | # Guess no on native Windows. |
331 | mingw*) gl_cv_func_re_compile_pattern_working="guessing no" ;; | 330 | mingw* | windows*) gl_cv_func_re_compile_pattern_working="guessing no" ;; |
332 | # Otherwise obey --enable-cross-guesses. | 331 | # Otherwise obey --enable-cross-guesses. |
333 | *) gl_cv_func_re_compile_pattern_working="$gl_cross_guess_normal" ;; | 332 | *) gl_cv_func_re_compile_pattern_working="$gl_cross_guess_normal" ;; |
334 | esac | 333 | esac |
335 | ]) | 334 | ]) |
336 | ]) | 335 | ]) |
diff --git a/gl/m4/servent.m4 b/gl/m4/servent.m4 index 0f35b8b8..422003b4 100644 --- a/gl/m4/servent.m4 +++ b/gl/m4/servent.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # servent.m4 serial 4 | 1 | # servent.m4 |
2 | dnl Copyright (C) 2008, 2010-2023 Free Software Foundation, Inc. | 2 | # serial 5 |
3 | dnl Copyright (C) 2008, 2010-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -28,7 +29,7 @@ AC_DEFUN([gl_SERVENT], | |||
28 | AC_CACHE_CHECK([for getservbyname in winsock2.h and -lws2_32], | 29 | AC_CACHE_CHECK([for getservbyname in winsock2.h and -lws2_32], |
29 | [gl_cv_w32_getservbyname], | 30 | [gl_cv_w32_getservbyname], |
30 | [gl_cv_w32_getservbyname=no | 31 | [gl_cv_w32_getservbyname=no |
31 | gl_save_LIBS="$LIBS" | 32 | gl_saved_LIBS="$LIBS" |
32 | LIBS="$LIBS -lws2_32" | 33 | LIBS="$LIBS -lws2_32" |
33 | AC_LINK_IFELSE( | 34 | AC_LINK_IFELSE( |
34 | [AC_LANG_PROGRAM( | 35 | [AC_LANG_PROGRAM( |
@@ -40,7 +41,7 @@ AC_DEFUN([gl_SERVENT], | |||
40 | ]], | 41 | ]], |
41 | [[getservbyname(NULL,NULL);]])], | 42 | [[getservbyname(NULL,NULL);]])], |
42 | [gl_cv_w32_getservbyname=yes]) | 43 | [gl_cv_w32_getservbyname=yes]) |
43 | LIBS="$gl_save_LIBS" | 44 | LIBS="$gl_saved_LIBS" |
44 | ]) | 45 | ]) |
45 | if test "$gl_cv_w32_getservbyname" = "yes"; then | 46 | if test "$gl_cv_w32_getservbyname" = "yes"; then |
46 | SERVENT_LIB="-lws2_32" | 47 | SERVENT_LIB="-lws2_32" |
diff --git a/gl/m4/setenv.m4 b/gl/m4/setenv.m4 index 16f9eb55..e7f00f39 100644 --- a/gl/m4/setenv.m4 +++ b/gl/m4/setenv.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # setenv.m4 serial 30 | 1 | # setenv.m4 |
2 | dnl Copyright (C) 2001-2004, 2006-2023 Free Software Foundation, Inc. | 2 | # serial 33 |
3 | dnl Copyright (C) 2001-2004, 2006-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -35,12 +36,12 @@ AC_DEFUN([gl_FUNC_SETENV], | |||
35 | ]])], | 36 | ]])], |
36 | [gl_cv_func_setenv_works=yes], [gl_cv_func_setenv_works=no], | 37 | [gl_cv_func_setenv_works=yes], [gl_cv_func_setenv_works=no], |
37 | [case "$host_os" in | 38 | [case "$host_os" in |
38 | # Guess yes on glibc systems. | 39 | # Guess yes on glibc systems. |
39 | *-gnu* | gnu*) gl_cv_func_setenv_works="guessing yes" ;; | 40 | *-gnu* | gnu*) gl_cv_func_setenv_works="guessing yes" ;; |
40 | # Guess yes on musl systems. | 41 | # Guess yes on musl systems. |
41 | *-musl*) gl_cv_func_setenv_works="guessing yes" ;; | 42 | *-musl* | midipix*) gl_cv_func_setenv_works="guessing yes" ;; |
42 | # If we don't know, obey --enable-cross-guesses. | 43 | # If we don't know, obey --enable-cross-guesses. |
43 | *) gl_cv_func_setenv_works="$gl_cross_guess_normal" ;; | 44 | *) gl_cv_func_setenv_works="$gl_cross_guess_normal" ;; |
44 | esac | 45 | esac |
45 | ])]) | 46 | ])]) |
46 | case "$gl_cv_func_setenv_works" in | 47 | case "$gl_cv_func_setenv_works" in |
@@ -151,11 +152,10 @@ int unsetenv (const char *name); | |||
151 | # Prerequisites of lib/setenv.c. | 152 | # Prerequisites of lib/setenv.c. |
152 | AC_DEFUN([gl_PREREQ_SETENV], | 153 | AC_DEFUN([gl_PREREQ_SETENV], |
153 | [ | 154 | [ |
154 | AC_REQUIRE([AC_FUNC_ALLOCA]) | ||
155 | AC_REQUIRE([gl_ENVIRON]) | 155 | AC_REQUIRE([gl_ENVIRON]) |
156 | AC_CHECK_HEADERS_ONCE([unistd.h]) | 156 | AC_CHECK_HEADERS_ONCE([unistd.h]) |
157 | AC_CHECK_HEADERS([search.h]) | 157 | AC_CHECK_HEADERS([search.h]) |
158 | AC_CHECK_FUNCS([tsearch]) | 158 | gl_CHECK_FUNCS_ANDROID([tsearch], [[#include <search.h>]]) |
159 | ]) | 159 | ]) |
160 | 160 | ||
161 | # Prerequisites of lib/unsetenv.c. | 161 | # Prerequisites of lib/unsetenv.c. |
diff --git a/gl/m4/setlocale_null.m4 b/gl/m4/setlocale_null.m4 index 032119d0..e5b7d28b 100644 --- a/gl/m4/setlocale_null.m4 +++ b/gl/m4/setlocale_null.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # setlocale_null.m4 serial 5 | 1 | # setlocale_null.m4 |
2 | dnl Copyright (C) 2019-2023 Free Software Foundation, Inc. | 2 | # serial 9 |
3 | dnl Copyright (C) 2019-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -13,11 +14,25 @@ AC_DEFUN([gl_FUNC_SETLOCALE_NULL], | |||
13 | AC_CACHE_CHECK([whether setlocale (LC_ALL, NULL) is multithread-safe], | 14 | AC_CACHE_CHECK([whether setlocale (LC_ALL, NULL) is multithread-safe], |
14 | [gl_cv_func_setlocale_null_all_mtsafe], | 15 | [gl_cv_func_setlocale_null_all_mtsafe], |
15 | [case "$host_os" in | 16 | [case "$host_os" in |
16 | # Guess no on musl libc, macOS, FreeBSD, NetBSD, OpenBSD, AIX, Haiku, Cygwin. | 17 | # Guess no on musl libc, macOS, FreeBSD, NetBSD, OpenBSD, AIX, Haiku. |
17 | *-musl* | darwin* | freebsd* | midnightbsd* | netbsd* | openbsd* | aix* | haiku* | cygwin*) | 18 | *-musl* | midipix* | darwin* | freebsd* | midnightbsd* | netbsd* | openbsd* | aix* | haiku*) |
18 | gl_cv_func_setlocale_null_all_mtsafe=no ;; | 19 | gl_cv_func_setlocale_null_all_mtsafe=no ;; |
20 | # Guess no on Cygwin < 3.4.6. | ||
21 | cygwin*) | ||
22 | AC_EGREP_CPP([Lucky user], | ||
23 | [ | ||
24 | #if defined __CYGWIN__ | ||
25 | #include <cygwin/version.h> | ||
26 | #if CYGWIN_VERSION_DLL_COMBINED >= CYGWIN_VERSION_DLL_MAKE_COMBINED (3004, 6) | ||
27 | Lucky user | ||
28 | #endif | ||
29 | #endif | ||
30 | ], | ||
31 | [gl_cv_func_setlocale_null_all_mtsafe=yes], | ||
32 | [gl_cv_func_setlocale_null_all_mtsafe=no]) | ||
33 | ;; | ||
19 | # Guess yes on glibc, HP-UX, IRIX, Solaris, native Windows. | 34 | # Guess yes on glibc, HP-UX, IRIX, Solaris, native Windows. |
20 | *-gnu* | gnu* | hpux* | irix* | solaris* | mingw*) | 35 | *-gnu* | gnu* | hpux* | irix* | solaris* | mingw* | windows*) |
21 | gl_cv_func_setlocale_null_all_mtsafe=yes ;; | 36 | gl_cv_func_setlocale_null_all_mtsafe=yes ;; |
22 | # If we don't know, obey --enable-cross-guesses. | 37 | # If we don't know, obey --enable-cross-guesses. |
23 | *) | 38 | *) |
@@ -26,7 +41,7 @@ AC_DEFUN([gl_FUNC_SETLOCALE_NULL], | |||
26 | ]) | 41 | ]) |
27 | dnl On platforms without multithreading, there is no issue. | 42 | dnl On platforms without multithreading, there is no issue. |
28 | case "$host_os" in | 43 | case "$host_os" in |
29 | mingw*) ;; | 44 | mingw* | windows*) ;; |
30 | *) | 45 | *) |
31 | if test $gl_pthread_api = no && test $ac_cv_header_threads_h = no; then | 46 | if test $gl_pthread_api = no && test $ac_cv_header_threads_h = no; then |
32 | gl_cv_func_setlocale_null_all_mtsafe="trivially yes" | 47 | gl_cv_func_setlocale_null_all_mtsafe="trivially yes" |
@@ -48,7 +63,7 @@ AC_DEFUN([gl_FUNC_SETLOCALE_NULL], | |||
48 | openbsd* | aix*) | 63 | openbsd* | aix*) |
49 | gl_cv_func_setlocale_null_one_mtsafe=no ;; | 64 | gl_cv_func_setlocale_null_one_mtsafe=no ;; |
50 | # Guess yes on glibc, musl libc, macOS, FreeBSD, NetBSD, HP-UX, IRIX, Solaris, Haiku, Cygwin, native Windows. | 65 | # Guess yes on glibc, musl libc, macOS, FreeBSD, NetBSD, HP-UX, IRIX, Solaris, Haiku, Cygwin, native Windows. |
51 | *-gnu* | gnu* | *-musl* | darwin* | freebsd* | midnightbsd* | netbsd* | hpux* | irix* | solaris* | haiku* | cygwin* | mingw*) | 66 | *-gnu* | gnu* | *-musl* | midipix* | darwin* | freebsd* | midnightbsd* | netbsd* | hpux* | irix* | solaris* | haiku* | cygwin* | mingw* | windows*) |
52 | gl_cv_func_setlocale_null_one_mtsafe=yes ;; | 67 | gl_cv_func_setlocale_null_one_mtsafe=yes ;; |
53 | # If we don't know, obey --enable-cross-guesses. | 68 | # If we don't know, obey --enable-cross-guesses. |
54 | *) | 69 | *) |
@@ -57,7 +72,7 @@ AC_DEFUN([gl_FUNC_SETLOCALE_NULL], | |||
57 | ]) | 72 | ]) |
58 | dnl On platforms without multithreading, there is no issue. | 73 | dnl On platforms without multithreading, there is no issue. |
59 | case "$host_os" in | 74 | case "$host_os" in |
60 | mingw*) ;; | 75 | mingw* | windows*) ;; |
61 | *) | 76 | *) |
62 | if test $gl_pthread_api = no && test $ac_cv_header_threads_h = no; then | 77 | if test $gl_pthread_api = no && test $ac_cv_header_threads_h = no; then |
63 | gl_cv_func_setlocale_null_one_mtsafe="trivially yes" | 78 | gl_cv_func_setlocale_null_one_mtsafe="trivially yes" |
@@ -74,20 +89,25 @@ AC_DEFUN([gl_FUNC_SETLOCALE_NULL], | |||
74 | dnl Determine link dependencies of lib/setlocale_null.c and lib/setlocale-lock.c. | 89 | dnl Determine link dependencies of lib/setlocale_null.c and lib/setlocale-lock.c. |
75 | if test $SETLOCALE_NULL_ALL_MTSAFE = 0 || test $SETLOCALE_NULL_ONE_MTSAFE = 0; then | 90 | if test $SETLOCALE_NULL_ALL_MTSAFE = 0 || test $SETLOCALE_NULL_ONE_MTSAFE = 0; then |
76 | case "$host_os" in | 91 | case "$host_os" in |
77 | mingw*) LIB_SETLOCALE_NULL= ;; | 92 | mingw* | windows*) |
93 | SETLOCALE_NULL_LIB= | ||
94 | ;; | ||
78 | *) | 95 | *) |
79 | gl_WEAK_SYMBOLS | 96 | gl_WEAK_SYMBOLS |
80 | case "$gl_cv_have_weak" in | 97 | case "$gl_cv_have_weak" in |
81 | *yes) LIB_SETLOCALE_NULL= ;; | 98 | *yes) SETLOCALE_NULL_LIB= ;; |
82 | *) LIB_SETLOCALE_NULL="$LIBPTHREAD" ;; | 99 | *) SETLOCALE_NULL_LIB="$LIBPTHREAD" ;; |
83 | esac | 100 | esac |
84 | ;; | 101 | ;; |
85 | esac | 102 | esac |
86 | else | 103 | else |
87 | LIB_SETLOCALE_NULL= | 104 | SETLOCALE_NULL_LIB= |
88 | fi | 105 | fi |
89 | dnl LIB_SETLOCALE_NULL is expected to be '-pthread' or '-lpthread' on AIX | 106 | dnl SETLOCALE_NULL_LIB is expected to be '-pthread' or '-lpthread' on AIX |
90 | dnl with gcc or xlc, and empty otherwise. | 107 | dnl with gcc or xlc, and empty otherwise. |
108 | AC_SUBST([SETLOCALE_NULL_LIB]) | ||
109 | dnl For backward compatibility. | ||
110 | LIB_SETLOCALE_NULL="$SETLOCALE_NULL_LIB" | ||
91 | AC_SUBST([LIB_SETLOCALE_NULL]) | 111 | AC_SUBST([LIB_SETLOCALE_NULL]) |
92 | ]) | 112 | ]) |
93 | 113 | ||
diff --git a/gl/m4/sha256.m4 b/gl/m4/sha256.m4 index 4d1d1dda..ad5596a4 100644 --- a/gl/m4/sha256.m4 +++ b/gl/m4/sha256.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # sha256.m4 serial 8 | 1 | # sha256.m4 |
2 | dnl Copyright (C) 2005, 2008-2023 Free Software Foundation, Inc. | 2 | # serial 8 |
3 | dnl Copyright (C) 2005, 2008-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/size_max.m4 b/gl/m4/size_max.m4 index 0763366d..df91cf06 100644 --- a/gl/m4/size_max.m4 +++ b/gl/m4/size_max.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # size_max.m4 serial 12 | 1 | # size_max.m4 |
2 | dnl Copyright (C) 2003, 2005-2006, 2008-2023 Free Software Foundation, Inc. | 2 | # serial 12 |
3 | dnl Copyright (C) 2003, 2005-2006, 2008-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/snprintf.m4 b/gl/m4/snprintf.m4 index 4b5fbdbf..6dbe146f 100644 --- a/gl/m4/snprintf.m4 +++ b/gl/m4/snprintf.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # snprintf.m4 serial 7 | 1 | # snprintf.m4 |
2 | dnl Copyright (C) 2002-2004, 2007-2023 Free Software Foundation, Inc. | 2 | # serial 7 |
3 | dnl Copyright (C) 2002-2004, 2007-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/socketlib.m4 b/gl/m4/socketlib.m4 index a556af1e..09f01161 100644 --- a/gl/m4/socketlib.m4 +++ b/gl/m4/socketlib.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # socketlib.m4 serial 3 | 1 | # socketlib.m4 |
2 | dnl Copyright (C) 2008-2023 Free Software Foundation, Inc. | 2 | # serial 4 |
3 | dnl Copyright (C) 2008-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -18,7 +19,7 @@ AC_DEFUN([gl_SOCKETLIB], | |||
18 | dnl defined through -lws2_32), we need to call it. | 19 | dnl defined through -lws2_32), we need to call it. |
19 | AC_CACHE_CHECK([for WSAStartup], | 20 | AC_CACHE_CHECK([for WSAStartup], |
20 | [gl_cv_func_wsastartup], [ | 21 | [gl_cv_func_wsastartup], [ |
21 | gl_save_LIBS="$LIBS" | 22 | gl_saved_LIBS="$LIBS" |
22 | LIBS="$LIBS -lws2_32" | 23 | LIBS="$LIBS -lws2_32" |
23 | AC_LINK_IFELSE( | 24 | AC_LINK_IFELSE( |
24 | [AC_LANG_PROGRAM([[ | 25 | [AC_LANG_PROGRAM([[ |
@@ -33,7 +34,7 @@ AC_DEFUN([gl_SOCKETLIB], | |||
33 | ], | 34 | ], |
34 | [gl_cv_func_wsastartup=yes], | 35 | [gl_cv_func_wsastartup=yes], |
35 | [gl_cv_func_wsastartup=no]) | 36 | [gl_cv_func_wsastartup=no]) |
36 | LIBS="$gl_save_LIBS" | 37 | LIBS="$gl_saved_LIBS" |
37 | ]) | 38 | ]) |
38 | if test "$gl_cv_func_wsastartup" = "yes"; then | 39 | if test "$gl_cv_func_wsastartup" = "yes"; then |
39 | AC_DEFINE([WINDOWS_SOCKETS], [1], [Define if WSAStartup is needed.]) | 40 | AC_DEFINE([WINDOWS_SOCKETS], [1], [Define if WSAStartup is needed.]) |
@@ -56,8 +57,8 @@ AC_DEFUN([gl_SOCKETLIB], | |||
56 | #endif | 57 | #endif |
57 | char setsockopt();]], [[setsockopt();]])], | 58 | char setsockopt();]], [[setsockopt();]])], |
58 | [], | 59 | [], |
59 | [gl_save_LIBS="$LIBS" | 60 | [gl_saved_LIBS="$LIBS" |
60 | LIBS="$gl_save_LIBS -lsocket" | 61 | LIBS="$gl_saved_LIBS -lsocket" |
61 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern | 62 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern |
62 | #ifdef __cplusplus | 63 | #ifdef __cplusplus |
63 | "C" | 64 | "C" |
@@ -65,7 +66,7 @@ char setsockopt();]], [[setsockopt();]])], | |||
65 | char setsockopt();]], [[setsockopt();]])], | 66 | char setsockopt();]], [[setsockopt();]])], |
66 | [gl_cv_lib_socket="-lsocket"]) | 67 | [gl_cv_lib_socket="-lsocket"]) |
67 | if test -z "$gl_cv_lib_socket"; then | 68 | if test -z "$gl_cv_lib_socket"; then |
68 | LIBS="$gl_save_LIBS -lnetwork" | 69 | LIBS="$gl_saved_LIBS -lnetwork" |
69 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern | 70 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern |
70 | #ifdef __cplusplus | 71 | #ifdef __cplusplus |
71 | "C" | 72 | "C" |
@@ -73,7 +74,7 @@ char setsockopt();]], [[setsockopt();]])], | |||
73 | char setsockopt();]], [[setsockopt();]])], | 74 | char setsockopt();]], [[setsockopt();]])], |
74 | [gl_cv_lib_socket="-lnetwork"]) | 75 | [gl_cv_lib_socket="-lnetwork"]) |
75 | if test -z "$gl_cv_lib_socket"; then | 76 | if test -z "$gl_cv_lib_socket"; then |
76 | LIBS="$gl_save_LIBS -lnet" | 77 | LIBS="$gl_saved_LIBS -lnet" |
77 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern | 78 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern |
78 | #ifdef __cplusplus | 79 | #ifdef __cplusplus |
79 | "C" | 80 | "C" |
@@ -82,7 +83,7 @@ char setsockopt();]], [[setsockopt();]])], | |||
82 | [gl_cv_lib_socket="-lnet"]) | 83 | [gl_cv_lib_socket="-lnet"]) |
83 | fi | 84 | fi |
84 | fi | 85 | fi |
85 | LIBS="$gl_save_LIBS" | 86 | LIBS="$gl_saved_LIBS" |
86 | ]) | 87 | ]) |
87 | if test -z "$gl_cv_lib_socket"; then | 88 | if test -z "$gl_cv_lib_socket"; then |
88 | gl_cv_lib_socket="none needed" | 89 | gl_cv_lib_socket="none needed" |
diff --git a/gl/m4/sockets.m4 b/gl/m4/sockets.m4 index ed9cb873..a3dfe92f 100644 --- a/gl/m4/sockets.m4 +++ b/gl/m4/sockets.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # sockets.m4 serial 7 | 1 | # sockets.m4 |
2 | dnl Copyright (C) 2008-2023 Free Software Foundation, Inc. | 2 | # serial 7 |
3 | dnl Copyright (C) 2008-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/socklen.m4 b/gl/m4/socklen.m4 index 1c63a853..9ece0abb 100644 --- a/gl/m4/socklen.m4 +++ b/gl/m4/socklen.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # socklen.m4 serial 11 | 1 | # socklen.m4 |
2 | dnl Copyright (C) 2005-2007, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 11 |
3 | dnl Copyright (C) 2005-2007, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/sockpfaf.m4 b/gl/m4/sockpfaf.m4 index 6c6dc2f7..c68b3abb 100644 --- a/gl/m4/sockpfaf.m4 +++ b/gl/m4/sockpfaf.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # sockpfaf.m4 serial 10 | 1 | # sockpfaf.m4 |
2 | dnl Copyright (C) 2004, 2006, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 10 |
3 | dnl Copyright (C) 2004, 2006, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/ssize_t.m4 b/gl/m4/ssize_t.m4 index 1c12c33e..c15f948a 100644 --- a/gl/m4/ssize_t.m4 +++ b/gl/m4/ssize_t.m4 | |||
@@ -1,23 +1,38 @@ | |||
1 | # ssize_t.m4 serial 5 (gettext-0.18.2) | 1 | # ssize_t.m4 |
2 | dnl Copyright (C) 2001-2003, 2006, 2010-2023 Free Software Foundation, Inc. | 2 | # serial 6 |
3 | dnl Copyright (C) 2001-2003, 2006, 2010-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
6 | 7 | ||
7 | dnl From Bruno Haible. | 8 | dnl From Bruno Haible. |
8 | dnl Test whether ssize_t is defined. | 9 | dnl Define ssize_t if it does not already exist. |
9 | 10 | ||
10 | AC_DEFUN([gt_TYPE_SSIZE_T], | 11 | AC_DEFUN([gt_TYPE_SSIZE_T], |
11 | [ | 12 | [ |
12 | AC_CACHE_CHECK([for ssize_t], [gt_cv_ssize_t], | 13 | AC_CACHE_CHECK([for ssize_t], [gl_cv_ssize_t], |
13 | [AC_COMPILE_IFELSE( | 14 | [AC_COMPILE_IFELSE( |
14 | [AC_LANG_PROGRAM( | 15 | [AC_LANG_PROGRAM( |
15 | [[#include <sys/types.h>]], | 16 | [[#include <sys/types.h>]], |
16 | [[int x = sizeof (ssize_t *) + sizeof (ssize_t); | 17 | [[int x = sizeof (ssize_t *) + sizeof (ssize_t); |
17 | return !x;]])], | 18 | return !x;]])], |
18 | [gt_cv_ssize_t=yes], [gt_cv_ssize_t=no])]) | 19 | [gl_cv_ssize_t=yes], [gl_cv_ssize_t=no])]) |
19 | if test $gt_cv_ssize_t = no; then | 20 | if test $gl_cv_ssize_t = no; then |
20 | AC_DEFINE([ssize_t], [int], | 21 | dnl On 64-bit native Windows, ssize_t needs to be defined as 'long long', |
21 | [Define as a signed type of the same size as size_t.]) | 22 | dnl for consistency with the 64-bit size_t. |
23 | AC_CACHE_CHECK([whether size_t is wider than 'long'], [gl_cv_size_t_large], | ||
24 | [AC_COMPILE_IFELSE( | ||
25 | [AC_LANG_PROGRAM( | ||
26 | [[#include <sys/types.h> | ||
27 | typedef int array [2 * (sizeof (size_t) > sizeof (long)) - 1]; | ||
28 | ]])], | ||
29 | [gl_cv_size_t_large=yes], [gl_cv_size_t_large=no])]) | ||
30 | if test $gl_cv_size_t_large = yes; then | ||
31 | gl_def_ssize_t='long long' | ||
32 | else | ||
33 | gl_def_ssize_t='long' | ||
34 | fi | ||
35 | AC_DEFINE_UNQUOTED([ssize_t], [$gl_def_ssize_t], | ||
36 | [Define as a signed type of the same size as size_t.]) | ||
22 | fi | 37 | fi |
23 | ]) | 38 | ]) |
diff --git a/gl/m4/stat-time.m4 b/gl/m4/stat-time.m4 index 40993d57..e8ee7d51 100644 --- a/gl/m4/stat-time.m4 +++ b/gl/m4/stat-time.m4 | |||
@@ -1,11 +1,11 @@ | |||
1 | # Checks for stat-related time functions. | 1 | # stat-time.m4 |
2 | 2 | # serial 1 | |
3 | # Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2023 Free Software | 3 | dnl Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2024 Free Software Foundation, Inc. |
4 | # Foundation, Inc. | 4 | dnl This file is free software; the Free Software Foundation |
5 | dnl gives unlimited permission to copy and/or distribute it, | ||
6 | dnl with or without modifications, as long as this notice is preserved. | ||
5 | 7 | ||
6 | # This file is free software; the Free Software Foundation | 8 | # Checks for stat-related time functions. |
7 | # gives unlimited permission to copy and/or distribute it, | ||
8 | # with or without modifications, as long as this notice is preserved. | ||
9 | 9 | ||
10 | dnl From Paul Eggert. | 10 | dnl From Paul Eggert. |
11 | 11 | ||
diff --git a/gl/m4/stat.m4 b/gl/m4/stat.m4 index 4d241e27..fabd360c 100644 --- a/gl/m4/stat.m4 +++ b/gl/m4/stat.m4 | |||
@@ -1,10 +1,9 @@ | |||
1 | # serial 18 | 1 | # stat.m4 |
2 | 2 | # serial 21 | |
3 | # Copyright (C) 2009-2023 Free Software Foundation, Inc. | 3 | dnl Copyright (C) 2009-2024 Free Software Foundation, Inc. |
4 | # | 4 | dnl This file is free software; the Free Software Foundation |
5 | # This file is free software; the Free Software Foundation | 5 | dnl gives unlimited permission to copy and/or distribute it, |
6 | # gives unlimited permission to copy and/or distribute it, | 6 | dnl with or without modifications, as long as this notice is preserved. |
7 | # with or without modifications, as long as this notice is preserved. | ||
8 | 7 | ||
9 | AC_DEFUN([gl_FUNC_STAT], | 8 | AC_DEFUN([gl_FUNC_STAT], |
10 | [ | 9 | [ |
@@ -12,7 +11,7 @@ AC_DEFUN([gl_FUNC_STAT], | |||
12 | AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) | 11 | AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) |
13 | AC_CHECK_FUNCS_ONCE([lstat]) | 12 | AC_CHECK_FUNCS_ONCE([lstat]) |
14 | case "$host_os" in | 13 | case "$host_os" in |
15 | mingw*) | 14 | mingw* | windows*) |
16 | dnl On this platform, the original stat() returns st_atime, st_mtime, | 15 | dnl On this platform, the original stat() returns st_atime, st_mtime, |
17 | dnl st_ctime values that are affected by the time zone. | 16 | dnl st_ctime values that are affected by the time zone. |
18 | REPLACE_STAT=1 | 17 | REPLACE_STAT=1 |
@@ -45,6 +44,8 @@ AC_DEFUN([gl_FUNC_STAT], | |||
45 | [case "$host_os" in | 44 | [case "$host_os" in |
46 | # Guess yes on Linux systems. | 45 | # Guess yes on Linux systems. |
47 | linux-* | linux) gl_cv_func_stat_file_slash="guessing yes" ;; | 46 | linux-* | linux) gl_cv_func_stat_file_slash="guessing yes" ;; |
47 | # Guess yes on systems that emulate the Linux system calls. | ||
48 | midipix*) gl_cv_func_stat_file_slash="guessing yes" ;; | ||
48 | # Guess yes on glibc systems. | 49 | # Guess yes on glibc systems. |
49 | *-gnu* | gnu*) gl_cv_func_stat_file_slash="guessing yes" ;; | 50 | *-gnu* | gnu*) gl_cv_func_stat_file_slash="guessing yes" ;; |
50 | # If we don't know, obey --enable-cross-guesses. | 51 | # If we don't know, obey --enable-cross-guesses. |
@@ -59,8 +60,8 @@ AC_DEFUN([gl_FUNC_STAT], | |||
59 | help when passed a file name with a trailing slash]);; | 60 | help when passed a file name with a trailing slash]);; |
60 | esac | 61 | esac |
61 | case $host_os in | 62 | case $host_os in |
62 | dnl Solaris stat can return a negative tv_nsec. | 63 | dnl macOS and Solaris stat can return a negative tv_nsec. |
63 | solaris*) | 64 | darwin* | solaris*) |
64 | REPLACE_FSTAT=1 ;; | 65 | REPLACE_FSTAT=1 ;; |
65 | esac | 66 | esac |
66 | ;; | 67 | ;; |
@@ -78,7 +79,7 @@ AC_DEFUN([gl_PREREQ_STAT], [ | |||
78 | AC_DEFUN([gl_PREREQ_STAT_W32], [ | 79 | AC_DEFUN([gl_PREREQ_STAT_W32], [ |
79 | AC_REQUIRE([AC_CANONICAL_HOST]) | 80 | AC_REQUIRE([AC_CANONICAL_HOST]) |
80 | case "$host_os" in | 81 | case "$host_os" in |
81 | mingw*) | 82 | mingw* | windows*) |
82 | AC_CHECK_HEADERS([sdkddkver.h]) | 83 | AC_CHECK_HEADERS([sdkddkver.h]) |
83 | ;; | 84 | ;; |
84 | esac | 85 | esac |
diff --git a/gl/m4/std-gnu11.m4 b/gl/m4/std-gnu11.m4 index 4179470e..37324c15 100644 --- a/gl/m4/std-gnu11.m4 +++ b/gl/m4/std-gnu11.m4 | |||
@@ -1,3 +1,6 @@ | |||
1 | # std-gnu11.m4 | ||
2 | # serial 1 | ||
3 | |||
1 | # Prefer GNU C11 and C++11 to earlier versions. -*- coding: utf-8 -*- | 4 | # Prefer GNU C11 and C++11 to earlier versions. -*- coding: utf-8 -*- |
2 | 5 | ||
3 | # This implementation is taken from GNU Autoconf lib/autoconf/c.m4 | 6 | # This implementation is taken from GNU Autoconf lib/autoconf/c.m4 |
@@ -9,7 +12,7 @@ | |||
9 | m4_version_prereq([2.70], [], [ | 12 | m4_version_prereq([2.70], [], [ |
10 | 13 | ||
11 | 14 | ||
12 | # Copyright (C) 2001-2023 Free Software Foundation, Inc. | 15 | # Copyright (C) 2001-2024 Free Software Foundation, Inc. |
13 | 16 | ||
14 | # This program is free software; you can redistribute it and/or modify | 17 | # This program is free software; you can redistribute it and/or modify |
15 | # it under the terms of the GNU General Public License as published by | 18 | # it under the terms of the GNU General Public License as published by |
diff --git a/gl/m4/stdalign.m4 b/gl/m4/stdalign.m4 index dc297175..2b4762f3 100644 --- a/gl/m4/stdalign.m4 +++ b/gl/m4/stdalign.m4 | |||
@@ -1,20 +1,24 @@ | |||
1 | # Check for alignas and alignof that conform to C23. | 1 | # stdalign.m4 |
2 | 2 | # serial 1 | |
3 | dnl Copyright 2011-2023 Free Software Foundation, Inc. | 3 | dnl Copyright 2011-2024 Free Software Foundation, Inc. |
4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
7 | 7 | ||
8 | # Check for alignas and alignof that conform to C23. | ||
9 | |||
10 | dnl Written by Paul Eggert and Bruno Haible. | ||
11 | |||
8 | # Prepare for substituting <stdalign.h> if it is not supported. | 12 | # Prepare for substituting <stdalign.h> if it is not supported. |
9 | 13 | ||
10 | AC_DEFUN([gl_STDALIGN_H], | 14 | AC_DEFUN([gl_ALIGNASOF], |
11 | [ | 15 | [ |
12 | AC_CACHE_CHECK([for alignas and alignof], | 16 | AC_CACHE_CHECK([for alignas and alignof], |
13 | [gl_cv_header_working_stdalign_h], | 17 | [gl_cv_header_working_stdalign_h], |
14 | [gl_save_CFLAGS=$CFLAGS | 18 | [gl_saved_CFLAGS=$CFLAGS |
15 | for gl_working in "yes, keywords" "yes, <stdalign.h> macros"; do | 19 | for gl_working in "yes, keywords" "yes, <stdalign.h> macros"; do |
16 | AS_CASE([$gl_working], | 20 | AS_CASE([$gl_working], |
17 | [*stdalign.h*], [CFLAGS="$gl_save_CFLAGS -DINCLUDE_STDALIGN_H"]) | 21 | [*stdalign.h*], [CFLAGS="$gl_saved_CFLAGS -DINCLUDE_STDALIGN_H"]) |
18 | AC_COMPILE_IFELSE( | 22 | AC_COMPILE_IFELSE( |
19 | [AC_LANG_PROGRAM( | 23 | [AC_LANG_PROGRAM( |
20 | [[#include <stdint.h> | 24 | [[#include <stdint.h> |
@@ -54,85 +58,151 @@ AC_DEFUN([gl_STDALIGN_H], | |||
54 | [gl_cv_header_working_stdalign_h=$gl_working], | 58 | [gl_cv_header_working_stdalign_h=$gl_working], |
55 | [gl_cv_header_working_stdalign_h=no]) | 59 | [gl_cv_header_working_stdalign_h=no]) |
56 | 60 | ||
57 | CFLAGS=$gl_save_CFLAGS | 61 | CFLAGS=$gl_saved_CFLAGS |
58 | test "$gl_cv_header_working_stdalign_h" != no && break | 62 | test "$gl_cv_header_working_stdalign_h" != no && break |
59 | done]) | 63 | done]) |
60 | 64 | ||
61 | GL_GENERATE_STDALIGN_H=false | ||
62 | AS_CASE([$gl_cv_header_working_stdalign_h], | 65 | AS_CASE([$gl_cv_header_working_stdalign_h], |
63 | [no], | ||
64 | [GL_GENERATE_STDALIGN_H=true], | ||
65 | [yes*keyword*], | 66 | [yes*keyword*], |
66 | [AC_DEFINE([HAVE_C_ALIGNASOF], [1], | 67 | [AC_DEFINE([HAVE_C_ALIGNASOF], [1], |
67 | [Define to 1 if the alignas and alignof keywords work.])]) | 68 | [Define to 1 if the alignas and alignof keywords work.])]) |
68 | 69 | ||
69 | AC_CHECK_HEADERS_ONCE([stdalign.h]) | ||
70 | |||
71 | dnl The "zz" puts this toward config.h's end, to avoid potential | 70 | dnl The "zz" puts this toward config.h's end, to avoid potential |
72 | dnl collisions with other definitions. | 71 | dnl collisions with other definitions. |
73 | AH_VERBATIM([zzalignas], | 72 | AH_VERBATIM([zzalignas], |
74 | [#if !defined HAVE_C_ALIGNASOF && __cplusplus < 201103 && !defined alignof | 73 | [#if !defined HAVE_C_ALIGNASOF \ |
75 | # if HAVE_STDALIGN_H | 74 | && !(defined __cplusplus && 201103 <= __cplusplus) \ |
75 | && !defined alignof | ||
76 | # if defined HAVE_STDALIGN_H | ||
76 | # include <stdalign.h> | 77 | # include <stdalign.h> |
77 | # else | 78 | # endif |
78 | /* Substitute. Keep consistent with gnulib/lib/stdalign.in.h. */ | 79 | |
79 | # ifndef _GL_STDALIGN_H | 80 | /* ISO C23 alignas and alignof for platforms that lack it. |
80 | # define _GL_STDALIGN_H | 81 | |
81 | # undef _Alignas | 82 | References: |
82 | # undef _Alignof | 83 | ISO C23 (latest free draft |
83 | # if (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 \ | 84 | <http://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf>) |
84 | || (defined __GNUC__ && __GNUC__ < 4 + (__GNUC_MINOR__ < 9) \ | 85 | sections 6.5.3.4, 6.7.5, 7.15. |
85 | && !defined __clang__) \ | 86 | C++11 (latest free draft |
86 | || (defined __clang__ && __clang_major__ < 8)) | 87 | <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf>) |
87 | # ifdef __cplusplus | 88 | section 18.10. */ |
88 | # if (201103 <= __cplusplus || defined _MSC_VER) | 89 | |
89 | # define _Alignof(type) alignof (type) | 90 | /* alignof (TYPE), also known as _Alignof (TYPE), yields the alignment |
90 | # else | 91 | requirement of a structure member (i.e., slot or field) that is of |
91 | template <class __t> struct __alignof_helper { char __a; __t __b; }; | 92 | type TYPE, as an integer constant expression. |
92 | # define _Alignof(type) offsetof (__alignof_helper<type>, __b) | 93 | |
93 | # define _GL_STDALIGN_NEEDS_STDDEF 1 | 94 | This differs from GCC's and clang's __alignof__ operator, which can |
94 | # endif | 95 | yield a better-performing alignment for an object of that type. For |
96 | example, on x86 with GCC and on Linux/x86 with clang, | ||
97 | __alignof__ (double) and __alignof__ (long long) are 8, whereas | ||
98 | alignof (double) and alignof (long long) are 4 unless the option | ||
99 | '-malign-double' is used. | ||
100 | |||
101 | The result cannot be used as a value for an 'enum' constant, if you | ||
102 | want to be portable to HP-UX 10.20 cc and AIX 3.2.5 xlc. */ | ||
103 | |||
104 | /* GCC releases before GCC 4.9 had a bug in _Alignof. See GCC bug 52023 | ||
105 | <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023>. | ||
106 | clang versions < 8.0.0 have the same bug. */ | ||
107 | # if (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 \ | ||
108 | || (defined __GNUC__ && __GNUC__ < 4 + (__GNUC_MINOR__ < 9) \ | ||
109 | && !defined __clang__) \ | ||
110 | || (defined __clang__ && __clang_major__ < 8)) | ||
111 | # undef/**/_Alignof | ||
112 | # ifdef __cplusplus | ||
113 | # if (201103 <= __cplusplus || defined _MSC_VER) | ||
114 | # define _Alignof(type) alignof (type) | ||
95 | # else | 115 | # else |
116 | template <class __t> struct __alignof_helper { char __a; __t __b; }; | ||
96 | # if (defined __GNUC__ && 4 <= __GNUC__) || defined __clang__ | 117 | # if (defined __GNUC__ && 4 <= __GNUC__) || defined __clang__ |
97 | # define _Alignof(type) __builtin_offsetof (struct { char __a; type __b; }, __b) | 118 | # define _Alignof(type) __builtin_offsetof (__alignof_helper<type>, __b) |
98 | # else | 119 | # else |
99 | # define _Alignof(type) offsetof (struct { char __a; type __b; }, __b) | 120 | # define _Alignof(type) offsetof (__alignof_helper<type>, __b) |
100 | # define _GL_STDALIGN_NEEDS_STDDEF 1 | ||
101 | # endif | 121 | # endif |
122 | # define _GL_STDALIGN_NEEDS_STDDEF 1 | ||
102 | # endif | 123 | # endif |
103 | # endif | 124 | # else |
104 | # if ! (defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER)) | 125 | # if (defined __GNUC__ && 4 <= __GNUC__) || defined __clang__ |
105 | # define alignof _Alignof | 126 | # define _Alignof(type) __builtin_offsetof (struct { char __a; type __b; }, __b) |
106 | # endif | 127 | # else |
107 | # define __alignof_is_defined 1 | 128 | # define _Alignof(type) offsetof (struct { char __a; type __b; }, __b) |
108 | # if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 | 129 | # define _GL_STDALIGN_NEEDS_STDDEF 1 |
109 | # if defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER) | ||
110 | # define _Alignas(a) alignas (a) | ||
111 | # elif (!defined __attribute__ \ | ||
112 | && ((defined __APPLE__ && defined __MACH__ \ | ||
113 | ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \ | ||
114 | : __GNUC__ && !defined __ibmxl__) \ | ||
115 | || (4 <= __clang_major__) \ | ||
116 | || (__ia64 && (61200 <= __HP_cc || 61200 <= __HP_aCC)) \ | ||
117 | || __ICC || 0x590 <= __SUNPRO_C || 0x0600 <= __xlC__)) | ||
118 | # define _Alignas(a) __attribute__ ((__aligned__ (a))) | ||
119 | # elif 1300 <= _MSC_VER | ||
120 | # define _Alignas(a) __declspec (align (a)) | ||
121 | # endif | 130 | # endif |
122 | # endif | 131 | # endif |
123 | # if ((defined _Alignas \ | 132 | # endif |
124 | && !(defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER))) \ | 133 | # if ! (defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER)) |
125 | || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) | 134 | # undef/**/alignof |
126 | # define alignas _Alignas | 135 | # define alignof _Alignof |
127 | # endif | 136 | # endif |
128 | # if (defined alignas \ | 137 | |
129 | || (defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER))) | 138 | /* alignas (A), also known as _Alignas (A), aligns a variable or type |
130 | # define __alignas_is_defined 1 | 139 | to the alignment A, where A is an integer constant expression. For |
131 | # endif | 140 | example: |
132 | # if _GL_STDALIGN_NEEDS_STDDEF | 141 | |
133 | # include <stddef.h> | 142 | int alignas (8) foo; |
134 | # endif | 143 | struct s { int a; int alignas (8) bar; }; |
135 | # endif /* _GL_STDALIGN_H */ | 144 | |
145 | aligns the address of FOO and the offset of BAR to be multiples of 8. | ||
146 | |||
147 | A should be a power of two that is at least the type's alignment | ||
148 | and at most the implementation's alignment limit. This limit is | ||
149 | 2**28 on typical GNUish hosts, and 2**13 on MSVC. To be portable | ||
150 | to MSVC through at least version 10.0, A should be an integer | ||
151 | constant, as MSVC does not support expressions such as 1 << 3. | ||
152 | To be portable to Sun C 5.11, do not align auto variables to | ||
153 | anything stricter than their default alignment. | ||
154 | |||
155 | The following C23 requirements are not supported here: | ||
156 | |||
157 | - If A is zero, alignas has no effect. | ||
158 | - alignas can be used multiple times; the strictest one wins. | ||
159 | - alignas (TYPE) is equivalent to alignas (alignof (TYPE)). | ||
160 | |||
161 | */ | ||
162 | # if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 | ||
163 | # if defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER) | ||
164 | # define _Alignas(a) alignas (a) | ||
165 | # elif (!defined __attribute__ \ | ||
166 | && ((defined __APPLE__ && defined __MACH__ \ | ||
167 | ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \ | ||
168 | : __GNUC__ && !defined __ibmxl__) \ | ||
169 | || (4 <= __clang_major__) \ | ||
170 | || (__ia64 && (61200 <= __HP_cc || 61200 <= __HP_aCC)) \ | ||
171 | || __ICC || 0x590 <= __SUNPRO_C || 0x0600 <= __xlC__)) | ||
172 | # define _Alignas(a) __attribute__ ((__aligned__ (a))) | ||
173 | # elif 1300 <= _MSC_VER | ||
174 | # define _Alignas(a) __declspec (align (a)) | ||
175 | # endif | ||
176 | # endif | ||
177 | # if !defined HAVE_STDALIGN_H | ||
178 | # if ((defined _Alignas \ | ||
179 | && !(defined __cplusplus \ | ||
180 | && (201103 <= __cplusplus || defined _MSC_VER))) \ | ||
181 | || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) | ||
182 | # define alignas _Alignas | ||
183 | # endif | ||
184 | # endif | ||
185 | |||
186 | # if defined _GL_STDALIGN_NEEDS_STDDEF | ||
187 | # include <stddef.h> | ||
136 | # endif | 188 | # endif |
137 | #endif]) | 189 | #endif]) |
138 | ]) | 190 | ]) |
191 | |||
192 | AC_DEFUN([gl_STDALIGN_H], | ||
193 | [ | ||
194 | AC_REQUIRE([gl_ALIGNASOF]) | ||
195 | if test "$gl_cv_header_working_stdalign_h" = no; then | ||
196 | GL_GENERATE_STDALIGN_H=true | ||
197 | else | ||
198 | GL_GENERATE_STDALIGN_H=false | ||
199 | fi | ||
200 | |||
201 | gl_CHECK_NEXT_HEADERS([stdalign.h]) | ||
202 | if test $ac_cv_header_stdalign_h = yes; then | ||
203 | HAVE_STDALIGN_H=1 | ||
204 | else | ||
205 | HAVE_STDALIGN_H=0 | ||
206 | fi | ||
207 | AC_SUBST([HAVE_STDALIGN_H]) | ||
208 | ]) | ||
diff --git a/gl/m4/stddef_h.m4 b/gl/m4/stddef_h.m4 index a2322ebb..84d3bae8 100644 --- a/gl/m4/stddef_h.m4 +++ b/gl/m4/stddef_h.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # stddef_h.m4 serial 13 | 1 | # stddef_h.m4 |
2 | dnl Copyright (C) 2009-2023 Free Software Foundation, Inc. | 2 | # serial 14 |
3 | dnl Copyright (C) 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -68,6 +69,21 @@ AC_DEFUN_ONCE([gl_STDDEF_H], | |||
68 | GL_GENERATE_STDDEF_H=true | 69 | GL_GENERATE_STDDEF_H=true |
69 | fi | 70 | fi |
70 | 71 | ||
72 | AC_CACHE_CHECK([for unreachable], | ||
73 | [gl_cv_func_unreachable], | ||
74 | [AC_LINK_IFELSE( | ||
75 | [AC_LANG_PROGRAM( | ||
76 | [[#include <stddef.h> | ||
77 | ]], | ||
78 | [[unreachable (); | ||
79 | ]])], | ||
80 | [gl_cv_func_unreachable=yes], | ||
81 | [gl_cv_func_unreachable=no]) | ||
82 | ]) | ||
83 | if test $gl_cv_func_unreachable = no; then | ||
84 | GL_GENERATE_STDDEF_H=true | ||
85 | fi | ||
86 | |||
71 | if $GL_GENERATE_STDDEF_H; then | 87 | if $GL_GENERATE_STDDEF_H; then |
72 | gl_NEXT_HEADERS([stddef.h]) | 88 | gl_NEXT_HEADERS([stddef.h]) |
73 | fi | 89 | fi |
diff --git a/gl/m4/stdint.m4 b/gl/m4/stdint.m4 index d6961b09..2dea8469 100644 --- a/gl/m4/stdint.m4 +++ b/gl/m4/stdint.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # stdint.m4 serial 61 | 1 | # stdint.m4 |
2 | dnl Copyright (C) 2001-2023 Free Software Foundation, Inc. | 2 | # serial 63 |
3 | dnl Copyright (C) 2001-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -150,7 +151,10 @@ intmax_t i = INTMAX_MAX; | |||
150 | uintmax_t j = UINTMAX_MAX; | 151 | uintmax_t j = UINTMAX_MAX; |
151 | 152 | ||
152 | /* Check that SIZE_MAX has the correct type, if possible. */ | 153 | /* Check that SIZE_MAX has the correct type, if possible. */ |
153 | #if 201112 <= __STDC_VERSION__ | 154 | /* ISO C 11 mandates _Generic, but GCC versions < 4.9 lack it. */ |
155 | #if 201112 <= __STDC_VERSION__ \ | ||
156 | && (!defined __GNUC__ || 4 < __GNUC__ + (9 <= __GNUC_MINOR__) \ | ||
157 | || defined __clang__) | ||
154 | int k = _Generic (SIZE_MAX, size_t: 0); | 158 | int k = _Generic (SIZE_MAX, size_t: 0); |
155 | #elif (2 <= __GNUC__ || 4 <= __clang_major__ || defined __IBM__TYPEOF__ \ | 159 | #elif (2 <= __GNUC__ || 4 <= __clang_major__ || defined __IBM__TYPEOF__ \ |
156 | || (0x5110 <= __SUNPRO_C && !__STDC__)) | 160 | || (0x5110 <= __SUNPRO_C && !__STDC__)) |
@@ -283,10 +287,10 @@ static const char *macro_values[] = | |||
283 | [gl_cv_header_working_stdint_h=yes], | 287 | [gl_cv_header_working_stdint_h=yes], |
284 | [], | 288 | [], |
285 | [case "$host_os" in | 289 | [case "$host_os" in |
286 | # Guess yes on native Windows. | 290 | # Guess yes on native Windows. |
287 | mingw*) gl_cv_header_working_stdint_h="guessing yes" ;; | 291 | mingw* | windows*) gl_cv_header_working_stdint_h="guessing yes" ;; |
288 | # In general, assume it works. | 292 | # In general, assume it works. |
289 | *) gl_cv_header_working_stdint_h="guessing yes" ;; | 293 | *) gl_cv_header_working_stdint_h="guessing yes" ;; |
290 | esac | 294 | esac |
291 | ]) | 295 | ]) |
292 | ]) | 296 | ]) |
diff --git a/gl/m4/stdint_h.m4 b/gl/m4/stdint_h.m4 index 70349f6c..29f42160 100644 --- a/gl/m4/stdint_h.m4 +++ b/gl/m4/stdint_h.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # stdint_h.m4 serial 9 | 1 | # stdint_h.m4 |
2 | dnl Copyright (C) 1997-2004, 2006, 2008-2023 Free Software Foundation, Inc. | 2 | # serial 9 |
3 | dnl Copyright (C) 1997-2004, 2006, 2008-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/stdio_h.m4 b/gl/m4/stdio_h.m4 index 94271e11..8eb5816a 100644 --- a/gl/m4/stdio_h.m4 +++ b/gl/m4/stdio_h.m4 | |||
@@ -1,12 +1,23 @@ | |||
1 | # stdio_h.m4 serial 59 | 1 | # stdio_h.m4 |
2 | dnl Copyright (C) 2007-2023 Free Software Foundation, Inc. | 2 | # serial 63 |
3 | dnl Copyright (C) 2007-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
6 | 7 | ||
7 | AC_DEFUN_ONCE([gl_STDIO_H], | 8 | AC_DEFUN([gl_STDIO_H_EARLY], |
8 | [ | 9 | [ |
9 | AC_REQUIRE([gl_STDIO_H_DEFAULTS]) | 10 | dnl Defining __USE_MINGW_ANSI_STDIO to 1 must be done early, because |
11 | dnl the results of several configure tests depend on it: The tests | ||
12 | dnl - checking whether snprintf returns a byte count as in C99... | ||
13 | dnl - checking whether snprintf truncates the result as in C99... | ||
14 | dnl - checking whether printf supports the 'F' directive... | ||
15 | dnl - checking whether printf supports the grouping flag... | ||
16 | dnl - checking whether printf supports the zero flag correctly... | ||
17 | dnl - checking whether printf supports infinite 'double' arguments... | ||
18 | dnl - checking whether printf supports large precisions... | ||
19 | dnl report 'yes' if __USE_MINGW_ANSI_STDIO is 1 but 'no' if | ||
20 | dnl __USE_MINGW_ANSI_STDIO is not set. | ||
10 | AH_VERBATIM([MINGW_ANSI_STDIO], | 21 | AH_VERBATIM([MINGW_ANSI_STDIO], |
11 | [/* Use GNU style printf and scanf. */ | 22 | [/* Use GNU style printf and scanf. */ |
12 | #ifndef __USE_MINGW_ANSI_STDIO | 23 | #ifndef __USE_MINGW_ANSI_STDIO |
@@ -14,6 +25,11 @@ AC_DEFUN_ONCE([gl_STDIO_H], | |||
14 | #endif | 25 | #endif |
15 | ]) | 26 | ]) |
16 | AC_DEFINE([__USE_MINGW_ANSI_STDIO]) | 27 | AC_DEFINE([__USE_MINGW_ANSI_STDIO]) |
28 | ]) | ||
29 | |||
30 | AC_DEFUN_ONCE([gl_STDIO_H], | ||
31 | [ | ||
32 | AC_REQUIRE([gl_STDIO_H_DEFAULTS]) | ||
17 | gl_NEXT_HEADERS([stdio.h]) | 33 | gl_NEXT_HEADERS([stdio.h]) |
18 | 34 | ||
19 | dnl Determine whether __USE_MINGW_ANSI_STDIO makes printf and | 35 | dnl Determine whether __USE_MINGW_ANSI_STDIO makes printf and |
@@ -40,6 +56,9 @@ AC_DEFUN_ONCE([gl_STDIO_H], | |||
40 | attribute "__gnu_printf__" instead of "__printf__"]) | 56 | attribute "__gnu_printf__" instead of "__printf__"]) |
41 | fi | 57 | fi |
42 | 58 | ||
59 | dnl For defining _PRINTF_NAN_LEN_MAX. | ||
60 | gl_MUSL_LIBC | ||
61 | |||
43 | dnl This ifdef is an optimization, to avoid performing a configure check whose | 62 | dnl This ifdef is an optimization, to avoid performing a configure check whose |
44 | dnl result is not used. But it does not make the test of | 63 | dnl result is not used. But it does not make the test of |
45 | dnl GNULIB_STDIO_H_NONBLOCKING or GNULIB_NONBLOCKING redundant. | 64 | dnl GNULIB_STDIO_H_NONBLOCKING or GNULIB_NONBLOCKING redundant. |
@@ -82,6 +101,16 @@ AC_DEFUN_ONCE([gl_STDIO_H], | |||
82 | if test $ac_cv_have_decl_fcloseall = no; then | 101 | if test $ac_cv_have_decl_fcloseall = no; then |
83 | HAVE_DECL_FCLOSEALL=0 | 102 | HAVE_DECL_FCLOSEALL=0 |
84 | fi | 103 | fi |
104 | |||
105 | AC_CHECK_DECLS_ONCE([getw]) | ||
106 | if test $ac_cv_have_decl_getw = no; then | ||
107 | HAVE_DECL_GETW=0 | ||
108 | fi | ||
109 | |||
110 | AC_CHECK_DECLS_ONCE([putw]) | ||
111 | if test $ac_cv_have_decl_putw = no; then | ||
112 | HAVE_DECL_PUTW=0 | ||
113 | fi | ||
85 | ]) | 114 | ]) |
86 | 115 | ||
87 | # gl_STDIO_MODULE_INDICATOR([modulename]) | 116 | # gl_STDIO_MODULE_INDICATOR([modulename]) |
@@ -178,7 +207,9 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS], | |||
178 | HAVE_DECL_FTELLO=1; AC_SUBST([HAVE_DECL_FTELLO]) | 207 | HAVE_DECL_FTELLO=1; AC_SUBST([HAVE_DECL_FTELLO]) |
179 | HAVE_DECL_GETDELIM=1; AC_SUBST([HAVE_DECL_GETDELIM]) | 208 | HAVE_DECL_GETDELIM=1; AC_SUBST([HAVE_DECL_GETDELIM]) |
180 | HAVE_DECL_GETLINE=1; AC_SUBST([HAVE_DECL_GETLINE]) | 209 | HAVE_DECL_GETLINE=1; AC_SUBST([HAVE_DECL_GETLINE]) |
210 | HAVE_DECL_GETW=1; AC_SUBST([HAVE_DECL_GETW]) | ||
181 | HAVE_DECL_OBSTACK_PRINTF=1; AC_SUBST([HAVE_DECL_OBSTACK_PRINTF]) | 211 | HAVE_DECL_OBSTACK_PRINTF=1; AC_SUBST([HAVE_DECL_OBSTACK_PRINTF]) |
212 | HAVE_DECL_PUTW=1; AC_SUBST([HAVE_DECL_PUTW]) | ||
182 | HAVE_DECL_SNPRINTF=1; AC_SUBST([HAVE_DECL_SNPRINTF]) | 213 | HAVE_DECL_SNPRINTF=1; AC_SUBST([HAVE_DECL_SNPRINTF]) |
183 | HAVE_DECL_VSNPRINTF=1; AC_SUBST([HAVE_DECL_VSNPRINTF]) | 214 | HAVE_DECL_VSNPRINTF=1; AC_SUBST([HAVE_DECL_VSNPRINTF]) |
184 | HAVE_DPRINTF=1; AC_SUBST([HAVE_DPRINTF]) | 215 | HAVE_DPRINTF=1; AC_SUBST([HAVE_DPRINTF]) |
diff --git a/gl/m4/stdlib_h.m4 b/gl/m4/stdlib_h.m4 index e96be22f..a4662f29 100644 --- a/gl/m4/stdlib_h.m4 +++ b/gl/m4/stdlib_h.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # stdlib_h.m4 serial 66 | 1 | # stdlib_h.m4 |
2 | dnl Copyright (C) 2007-2023 Free Software Foundation, Inc. | 2 | # serial 77 |
3 | dnl Copyright (C) 2007-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -23,15 +24,58 @@ AC_DEFUN_ONCE([gl_STDLIB_H], | |||
23 | # include <random.h> | 24 | # include <random.h> |
24 | #endif | 25 | #endif |
25 | ]], [_Exit aligned_alloc atoll canonicalize_file_name free | 26 | ]], [_Exit aligned_alloc atoll canonicalize_file_name free |
26 | getloadavg getsubopt grantpt | 27 | getloadavg getprogname getsubopt grantpt |
27 | initstate initstate_r mbtowc mkdtemp mkostemp mkostemps mkstemp mkstemps | 28 | initstate initstate_r mbstowcs mbtowc mkdtemp mkostemp mkostemps mkstemp |
28 | posix_memalign posix_openpt ptsname ptsname_r qsort_r | 29 | mkstemps posix_memalign posix_openpt ptsname ptsname_r qsort_r |
29 | random random_r reallocarray realpath rpmatch secure_getenv setenv | 30 | random random_r reallocarray realpath rpmatch secure_getenv setenv |
30 | setstate setstate_r srandom srandom_r | 31 | setstate setstate_r srandom srandom_r |
31 | strtod strtol strtold strtoll strtoul strtoull unlockpt unsetenv]) | 32 | strtod strtol strtold strtoll strtoul strtoull unlockpt unsetenv]) |
32 | 33 | ||
33 | AC_REQUIRE([AC_C_RESTRICT]) | 34 | AC_REQUIRE([AC_C_RESTRICT]) |
34 | 35 | ||
36 | dnl Test whether MB_CUR_MAX needs to be overridden. | ||
37 | dnl On Solaris 10, in UTF-8 locales, its value is 3 but needs to be 4. | ||
38 | dnl Fortunately, we can do this because on this platform MB_LEN_MAX is 5. | ||
39 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
40 | AC_REQUIRE([gt_LOCALE_FR_UTF8]) | ||
41 | AC_CACHE_CHECK([whether MB_CUR_MAX is correct], | ||
42 | [gl_cv_macro_MB_CUR_MAX_good], | ||
43 | [ | ||
44 | dnl Initial guess, used when cross-compiling or when no suitable locale | ||
45 | dnl is present. | ||
46 | changequote(,)dnl | ||
47 | case "$host_os" in | ||
48 | # Guess no on Solaris. | ||
49 | solaris*) gl_cv_macro_MB_CUR_MAX_good="guessing no" ;; | ||
50 | # Guess yes otherwise. | ||
51 | *) gl_cv_macro_MB_CUR_MAX_good="guessing yes" ;; | ||
52 | esac | ||
53 | changequote([,])dnl | ||
54 | if test $LOCALE_FR_UTF8 != none; then | ||
55 | AC_RUN_IFELSE( | ||
56 | [AC_LANG_SOURCE([[ | ||
57 | #include <locale.h> | ||
58 | #include <stdlib.h> | ||
59 | int main () | ||
60 | { | ||
61 | int result = 0; | ||
62 | if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) | ||
63 | { | ||
64 | if (MB_CUR_MAX < 4) | ||
65 | result |= 1; | ||
66 | } | ||
67 | return result; | ||
68 | }]])], | ||
69 | [gl_cv_macro_MB_CUR_MAX_good=yes], | ||
70 | [gl_cv_macro_MB_CUR_MAX_good=no], | ||
71 | [:]) | ||
72 | fi | ||
73 | ]) | ||
74 | case "$gl_cv_macro_MB_CUR_MAX_good" in | ||
75 | *yes) ;; | ||
76 | *) REPLACE_MB_CUR_MAX=1 ;; | ||
77 | esac | ||
78 | |||
35 | AC_CHECK_DECLS_ONCE([ecvt]) | 79 | AC_CHECK_DECLS_ONCE([ecvt]) |
36 | if test $ac_cv_have_decl_ecvt = no; then | 80 | if test $ac_cv_have_decl_ecvt = no; then |
37 | HAVE_DECL_ECVT=0 | 81 | HAVE_DECL_ECVT=0 |
@@ -73,10 +117,12 @@ AC_DEFUN([gl_STDLIB_H_REQUIRE_DEFAULTS], | |||
73 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CANONICALIZE_FILE_NAME]) | 117 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CANONICALIZE_FILE_NAME]) |
74 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREE_POSIX]) | 118 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREE_POSIX]) |
75 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLOADAVG]) | 119 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLOADAVG]) |
120 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPROGNAME]) | ||
76 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETSUBOPT]) | 121 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETSUBOPT]) |
77 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GRANTPT]) | 122 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GRANTPT]) |
78 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MALLOC_GNU]) | 123 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MALLOC_GNU]) |
79 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MALLOC_POSIX]) | 124 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MALLOC_POSIX]) |
125 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSTOWCS]) | ||
80 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBTOWC]) | 126 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBTOWC]) |
81 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKDTEMP]) | 127 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKDTEMP]) |
82 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKOSTEMP]) | 128 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKOSTEMP]) |
@@ -89,6 +135,7 @@ AC_DEFUN([gl_STDLIB_H_REQUIRE_DEFAULTS], | |||
89 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTSNAME_R]) | 135 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTSNAME_R]) |
90 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PUTENV]) | 136 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PUTENV]) |
91 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_QSORT_R]) | 137 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_QSORT_R]) |
138 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RAND]) | ||
92 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM]) | 139 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM]) |
93 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM_R]) | 140 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM_R]) |
94 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOCARRAY]) | 141 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOCARRAY]) |
@@ -99,6 +146,7 @@ AC_DEFUN([gl_STDLIB_H_REQUIRE_DEFAULTS], | |||
99 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SECURE_GETENV]) | 146 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SECURE_GETENV]) |
100 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETENV]) | 147 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETENV]) |
101 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOD]) | 148 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOD]) |
149 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOF]) | ||
102 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOL]) | 150 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOL]) |
103 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOLD]) | 151 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOLD]) |
104 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOLL]) | 152 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOLL]) |
@@ -130,6 +178,8 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], | |||
130 | HAVE_DECL_FCVT=1; AC_SUBST([HAVE_DECL_FCVT]) | 178 | HAVE_DECL_FCVT=1; AC_SUBST([HAVE_DECL_FCVT]) |
131 | HAVE_DECL_GCVT=1; AC_SUBST([HAVE_DECL_GCVT]) | 179 | HAVE_DECL_GCVT=1; AC_SUBST([HAVE_DECL_GCVT]) |
132 | HAVE_DECL_GETLOADAVG=1; AC_SUBST([HAVE_DECL_GETLOADAVG]) | 180 | HAVE_DECL_GETLOADAVG=1; AC_SUBST([HAVE_DECL_GETLOADAVG]) |
181 | HAVE_DECL_PROGRAM_INVOCATION_NAME=1; AC_SUBST([HAVE_DECL_PROGRAM_INVOCATION_NAME]) | ||
182 | HAVE_GETPROGNAME=1; AC_SUBST([HAVE_GETPROGNAME]) | ||
133 | HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT]) | 183 | HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT]) |
134 | HAVE_GRANTPT=1; AC_SUBST([HAVE_GRANTPT]) | 184 | HAVE_GRANTPT=1; AC_SUBST([HAVE_GRANTPT]) |
135 | HAVE_INITSTATE=1; AC_SUBST([HAVE_INITSTATE]) | 185 | HAVE_INITSTATE=1; AC_SUBST([HAVE_INITSTATE]) |
@@ -157,6 +207,7 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], | |||
157 | HAVE_SETSTATE=1; AC_SUBST([HAVE_SETSTATE]) | 207 | HAVE_SETSTATE=1; AC_SUBST([HAVE_SETSTATE]) |
158 | HAVE_DECL_SETSTATE=1; AC_SUBST([HAVE_DECL_SETSTATE]) | 208 | HAVE_DECL_SETSTATE=1; AC_SUBST([HAVE_DECL_SETSTATE]) |
159 | HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD]) | 209 | HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD]) |
210 | HAVE_STRTOF=1; AC_SUBST([HAVE_STRTOF]) | ||
160 | HAVE_STRTOL=1; AC_SUBST([HAVE_STRTOL]) | 211 | HAVE_STRTOL=1; AC_SUBST([HAVE_STRTOL]) |
161 | HAVE_STRTOLD=1; AC_SUBST([HAVE_STRTOLD]) | 212 | HAVE_STRTOLD=1; AC_SUBST([HAVE_STRTOLD]) |
162 | HAVE_STRTOLL=1; AC_SUBST([HAVE_STRTOLL]) | 213 | HAVE_STRTOLL=1; AC_SUBST([HAVE_STRTOLL]) |
@@ -166,21 +217,31 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], | |||
166 | HAVE_SYS_LOADAVG_H=0; AC_SUBST([HAVE_SYS_LOADAVG_H]) | 217 | HAVE_SYS_LOADAVG_H=0; AC_SUBST([HAVE_SYS_LOADAVG_H]) |
167 | HAVE_UNLOCKPT=1; AC_SUBST([HAVE_UNLOCKPT]) | 218 | HAVE_UNLOCKPT=1; AC_SUBST([HAVE_UNLOCKPT]) |
168 | HAVE_DECL_UNSETENV=1; AC_SUBST([HAVE_DECL_UNSETENV]) | 219 | HAVE_DECL_UNSETENV=1; AC_SUBST([HAVE_DECL_UNSETENV]) |
220 | REPLACE__EXIT=0; AC_SUBST([REPLACE__EXIT]) | ||
169 | REPLACE_ALIGNED_ALLOC=0; AC_SUBST([REPLACE_ALIGNED_ALLOC]) | 221 | REPLACE_ALIGNED_ALLOC=0; AC_SUBST([REPLACE_ALIGNED_ALLOC]) |
170 | REPLACE_CALLOC_FOR_CALLOC_GNU=0; AC_SUBST([REPLACE_CALLOC_FOR_CALLOC_GNU]) | 222 | REPLACE_CALLOC_FOR_CALLOC_GNU=0; AC_SUBST([REPLACE_CALLOC_FOR_CALLOC_GNU]) |
171 | REPLACE_CALLOC_FOR_CALLOC_POSIX=0; AC_SUBST([REPLACE_CALLOC_FOR_CALLOC_POSIX]) | 223 | REPLACE_CALLOC_FOR_CALLOC_POSIX=0; AC_SUBST([REPLACE_CALLOC_FOR_CALLOC_POSIX]) |
172 | REPLACE_CANONICALIZE_FILE_NAME=0; AC_SUBST([REPLACE_CANONICALIZE_FILE_NAME]) | 224 | REPLACE_CANONICALIZE_FILE_NAME=0; AC_SUBST([REPLACE_CANONICALIZE_FILE_NAME]) |
173 | REPLACE_FREE=0; AC_SUBST([REPLACE_FREE]) | 225 | REPLACE_FREE=0; AC_SUBST([REPLACE_FREE]) |
226 | REPLACE_GETLOADAVG=0; AC_SUBST([REPLACE_GETLOADAVG]) | ||
227 | REPLACE_GETPROGNAME=0; AC_SUBST([REPLACE_GETPROGNAME]) | ||
228 | REPLACE_GETSUBOPT=0; AC_SUBST([REPLACE_GETSUBOPT]) | ||
174 | REPLACE_INITSTATE=0; AC_SUBST([REPLACE_INITSTATE]) | 229 | REPLACE_INITSTATE=0; AC_SUBST([REPLACE_INITSTATE]) |
175 | REPLACE_MALLOC_FOR_MALLOC_GNU=0; AC_SUBST([REPLACE_MALLOC_FOR_MALLOC_GNU]) | 230 | REPLACE_MALLOC_FOR_MALLOC_GNU=0; AC_SUBST([REPLACE_MALLOC_FOR_MALLOC_GNU]) |
176 | REPLACE_MALLOC_FOR_MALLOC_POSIX=0; AC_SUBST([REPLACE_MALLOC_FOR_MALLOC_POSIX]) | 231 | REPLACE_MALLOC_FOR_MALLOC_POSIX=0; AC_SUBST([REPLACE_MALLOC_FOR_MALLOC_POSIX]) |
232 | REPLACE_MB_CUR_MAX=0; AC_SUBST([REPLACE_MB_CUR_MAX]) | ||
233 | REPLACE_MBSTOWCS=0; AC_SUBST([REPLACE_MBSTOWCS]) | ||
177 | REPLACE_MBTOWC=0; AC_SUBST([REPLACE_MBTOWC]) | 234 | REPLACE_MBTOWC=0; AC_SUBST([REPLACE_MBTOWC]) |
235 | REPLACE_MKOSTEMP=0; AC_SUBST([REPLACE_MKOSTEMP]) | ||
236 | REPLACE_MKOSTEMPS=0; AC_SUBST([REPLACE_MKOSTEMPS]) | ||
178 | REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP]) | 237 | REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP]) |
179 | REPLACE_POSIX_MEMALIGN=0; AC_SUBST([REPLACE_POSIX_MEMALIGN]) | 238 | REPLACE_POSIX_MEMALIGN=0; AC_SUBST([REPLACE_POSIX_MEMALIGN]) |
239 | REPLACE_POSIX_OPENPT=0; AC_SUBST([REPLACE_POSIX_OPENPT]) | ||
180 | REPLACE_PTSNAME=0; AC_SUBST([REPLACE_PTSNAME]) | 240 | REPLACE_PTSNAME=0; AC_SUBST([REPLACE_PTSNAME]) |
181 | REPLACE_PTSNAME_R=0; AC_SUBST([REPLACE_PTSNAME_R]) | 241 | REPLACE_PTSNAME_R=0; AC_SUBST([REPLACE_PTSNAME_R]) |
182 | REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV]) | 242 | REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV]) |
183 | REPLACE_QSORT_R=0; AC_SUBST([REPLACE_QSORT_R]) | 243 | REPLACE_QSORT_R=0; AC_SUBST([REPLACE_QSORT_R]) |
244 | REPLACE_RAND=0; AC_SUBST([REPLACE_RAND]) | ||
184 | REPLACE_RANDOM=0; AC_SUBST([REPLACE_RANDOM]) | 245 | REPLACE_RANDOM=0; AC_SUBST([REPLACE_RANDOM]) |
185 | REPLACE_RANDOM_R=0; AC_SUBST([REPLACE_RANDOM_R]) | 246 | REPLACE_RANDOM_R=0; AC_SUBST([REPLACE_RANDOM_R]) |
186 | REPLACE_REALLOC_FOR_REALLOC_GNU=0; AC_SUBST([REPLACE_REALLOC_FOR_REALLOC_GNU]) | 247 | REPLACE_REALLOC_FOR_REALLOC_GNU=0; AC_SUBST([REPLACE_REALLOC_FOR_REALLOC_GNU]) |
@@ -190,6 +251,7 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], | |||
190 | REPLACE_SETENV=0; AC_SUBST([REPLACE_SETENV]) | 251 | REPLACE_SETENV=0; AC_SUBST([REPLACE_SETENV]) |
191 | REPLACE_SETSTATE=0; AC_SUBST([REPLACE_SETSTATE]) | 252 | REPLACE_SETSTATE=0; AC_SUBST([REPLACE_SETSTATE]) |
192 | REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD]) | 253 | REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD]) |
254 | REPLACE_STRTOF=0; AC_SUBST([REPLACE_STRTOF]) | ||
193 | REPLACE_STRTOL=0; AC_SUBST([REPLACE_STRTOL]) | 255 | REPLACE_STRTOL=0; AC_SUBST([REPLACE_STRTOL]) |
194 | REPLACE_STRTOLD=0; AC_SUBST([REPLACE_STRTOLD]) | 256 | REPLACE_STRTOLD=0; AC_SUBST([REPLACE_STRTOLD]) |
195 | REPLACE_STRTOLL=0; AC_SUBST([REPLACE_STRTOLL]) | 257 | REPLACE_STRTOLL=0; AC_SUBST([REPLACE_STRTOLL]) |
diff --git a/gl/m4/strcase.m4 b/gl/m4/strcase.m4 index 3cf740d2..63021733 100644 --- a/gl/m4/strcase.m4 +++ b/gl/m4/strcase.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # strcase.m4 serial 12 | 1 | # strcase.m4 |
2 | dnl Copyright (C) 2002, 2005-2023 Free Software Foundation, Inc. | 2 | # serial 12 |
3 | dnl Copyright (C) 2002, 2005-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/strcasestr.m4 b/gl/m4/strcasestr.m4 index 971e0b23..d2548716 100644 --- a/gl/m4/strcasestr.m4 +++ b/gl/m4/strcasestr.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # strcasestr.m4 serial 28 | 1 | # strcasestr.m4 |
2 | dnl Copyright (C) 2005, 2007-2023 Free Software Foundation, Inc. | 2 | # serial 28 |
3 | dnl Copyright (C) 2005, 2007-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/strerror.m4 b/gl/m4/strerror.m4 index 8879eb08..0272c6f4 100644 --- a/gl/m4/strerror.m4 +++ b/gl/m4/strerror.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # strerror.m4 serial 23 | 1 | # strerror.m4 |
2 | dnl Copyright (C) 2002, 2007-2023 Free Software Foundation, Inc. | 2 | # serial 25 |
3 | dnl Copyright (C) 2002, 2007-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -24,12 +25,12 @@ AC_DEFUN([gl_FUNC_STRERROR], | |||
24 | [gl_cv_func_working_strerror=yes], | 25 | [gl_cv_func_working_strerror=yes], |
25 | [gl_cv_func_working_strerror=no], | 26 | [gl_cv_func_working_strerror=no], |
26 | [case "$host_os" in | 27 | [case "$host_os" in |
27 | # Guess yes on glibc systems. | 28 | # Guess yes on glibc systems. |
28 | *-gnu* | gnu*) gl_cv_func_working_strerror="guessing yes" ;; | 29 | *-gnu* | gnu*) gl_cv_func_working_strerror="guessing yes" ;; |
29 | # Guess yes on musl systems. | 30 | # Guess yes on musl systems. |
30 | *-musl*) gl_cv_func_working_strerror="guessing yes" ;; | 31 | *-musl* | midipix*) gl_cv_func_working_strerror="guessing yes" ;; |
31 | # If we don't know, obey --enable-cross-guesses. | 32 | # If we don't know, obey --enable-cross-guesses. |
32 | *) gl_cv_func_working_strerror="$gl_cross_guess_normal" ;; | 33 | *) gl_cv_func_working_strerror="$gl_cross_guess_normal" ;; |
33 | esac | 34 | esac |
34 | ]) | 35 | ]) |
35 | ]) | 36 | ]) |
@@ -80,14 +81,14 @@ AC_DEFUN([gl_FUNC_STRERROR_0], | |||
80 | [gl_cv_func_strerror_0_works=yes], | 81 | [gl_cv_func_strerror_0_works=yes], |
81 | [gl_cv_func_strerror_0_works=no], | 82 | [gl_cv_func_strerror_0_works=no], |
82 | [case "$host_os" in | 83 | [case "$host_os" in |
83 | # Guess yes on glibc systems. | 84 | # Guess yes on glibc systems. |
84 | *-gnu* | gnu*) gl_cv_func_strerror_0_works="guessing yes" ;; | 85 | *-gnu* | gnu*) gl_cv_func_strerror_0_works="guessing yes" ;; |
85 | # Guess yes on musl systems. | 86 | # Guess yes on musl systems. |
86 | *-musl*) gl_cv_func_strerror_0_works="guessing yes" ;; | 87 | *-musl* | midipix*) gl_cv_func_strerror_0_works="guessing yes" ;; |
87 | # Guess yes on native Windows. | 88 | # Guess yes on native Windows. |
88 | mingw*) gl_cv_func_strerror_0_works="guessing yes" ;; | 89 | mingw* | windows*) gl_cv_func_strerror_0_works="guessing yes" ;; |
89 | # If we don't know, obey --enable-cross-guesses. | 90 | # If we don't know, obey --enable-cross-guesses. |
90 | *) gl_cv_func_strerror_0_works="$gl_cross_guess_normal" ;; | 91 | *) gl_cv_func_strerror_0_works="$gl_cross_guess_normal" ;; |
91 | esac | 92 | esac |
92 | ]) | 93 | ]) |
93 | ]) | 94 | ]) |
diff --git a/gl/m4/string_h.m4 b/gl/m4/string_h.m4 index 5da3cc25..f31264ae 100644 --- a/gl/m4/string_h.m4 +++ b/gl/m4/string_h.m4 | |||
@@ -1,11 +1,11 @@ | |||
1 | # Configure a GNU-like replacement for <string.h>. | 1 | # string_h.m4 |
2 | 2 | # serial 39 | |
3 | # Copyright (C) 2007-2023 Free Software Foundation, Inc. | 3 | dnl Copyright (C) 2007-2024 Free Software Foundation, Inc. |
4 | # This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
5 | # gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
6 | # with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
7 | 7 | ||
8 | # serial 35 | 8 | # Configure a GNU-like replacement for <string.h>. |
9 | 9 | ||
10 | # Written by Paul Eggert. | 10 | # Written by Paul Eggert. |
11 | 11 | ||
@@ -131,6 +131,9 @@ AC_DEFUN([gl_STRING_H_DEFAULTS], | |||
131 | REPLACE_FFSLL=0; AC_SUBST([REPLACE_FFSLL]) | 131 | REPLACE_FFSLL=0; AC_SUBST([REPLACE_FFSLL]) |
132 | REPLACE_MEMCHR=0; AC_SUBST([REPLACE_MEMCHR]) | 132 | REPLACE_MEMCHR=0; AC_SUBST([REPLACE_MEMCHR]) |
133 | REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM]) | 133 | REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM]) |
134 | REPLACE_MEMPCPY=0; AC_SUBST([REPLACE_MEMPCPY]) | ||
135 | REPLACE_MEMSET_EXPLICIT=0; AC_SUBST([REPLACE_MEMSET_EXPLICIT]) | ||
136 | REPLACE_STPCPY=0; AC_SUBST([REPLACE_STPCPY]) | ||
134 | REPLACE_STPNCPY=0; AC_SUBST([REPLACE_STPNCPY]) | 137 | REPLACE_STPNCPY=0; AC_SUBST([REPLACE_STPNCPY]) |
135 | REPLACE_STRCHRNUL=0; AC_SUBST([REPLACE_STRCHRNUL]) | 138 | REPLACE_STRCHRNUL=0; AC_SUBST([REPLACE_STRCHRNUL]) |
136 | REPLACE_STRDUP=0; AC_SUBST([REPLACE_STRDUP]) | 139 | REPLACE_STRDUP=0; AC_SUBST([REPLACE_STRDUP]) |
@@ -144,5 +147,6 @@ AC_DEFUN([gl_STRING_H_DEFAULTS], | |||
144 | REPLACE_STRERROR_R=0; AC_SUBST([REPLACE_STRERROR_R]) | 147 | REPLACE_STRERROR_R=0; AC_SUBST([REPLACE_STRERROR_R]) |
145 | REPLACE_STRERRORNAME_NP=0; AC_SUBST([REPLACE_STRERRORNAME_NP]) | 148 | REPLACE_STRERRORNAME_NP=0; AC_SUBST([REPLACE_STRERRORNAME_NP]) |
146 | REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL]) | 149 | REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL]) |
150 | REPLACE_STRVERSCMP=0; AC_SUBST([REPLACE_STRVERSCMP]) | ||
147 | UNDEFINE_STRTOK_R=0; AC_SUBST([UNDEFINE_STRTOK_R]) | 151 | UNDEFINE_STRTOK_R=0; AC_SUBST([UNDEFINE_STRTOK_R]) |
148 | ]) | 152 | ]) |
diff --git a/gl/m4/strings_h.m4 b/gl/m4/strings_h.m4 index 4c41221b..aaafb559 100644 --- a/gl/m4/strings_h.m4 +++ b/gl/m4/strings_h.m4 | |||
@@ -1,10 +1,11 @@ | |||
1 | # Configure a replacement for <strings.h>. | 1 | # strings_h.m4 |
2 | # serial 9 | 2 | # serial 9 |
3 | dnl Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc. | ||
4 | dnl This file is free software; the Free Software Foundation | ||
5 | dnl gives unlimited permission to copy and/or distribute it, | ||
6 | dnl with or without modifications, as long as this notice is preserved. | ||
3 | 7 | ||
4 | # Copyright (C) 2007, 2009-2023 Free Software Foundation, Inc. | 8 | # Configure a replacement for <strings.h>. |
5 | # This file is free software; the Free Software Foundation | ||
6 | # gives unlimited permission to copy and/or distribute it, | ||
7 | # with or without modifications, as long as this notice is preserved. | ||
8 | 9 | ||
9 | AC_DEFUN_ONCE([gl_STRINGS_H], | 10 | AC_DEFUN_ONCE([gl_STRINGS_H], |
10 | [ | 11 | [ |
diff --git a/gl/m4/strsep.m4 b/gl/m4/strsep.m4 index e0da09a3..cfde87a5 100644 --- a/gl/m4/strsep.m4 +++ b/gl/m4/strsep.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # strsep.m4 serial 11 | 1 | # strsep.m4 |
2 | dnl Copyright (C) 2002-2004, 2007, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 11 |
3 | dnl Copyright (C) 2002-2004, 2007, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/strstr.m4 b/gl/m4/strstr.m4 index 7de203a7..957ed2e3 100644 --- a/gl/m4/strstr.m4 +++ b/gl/m4/strstr.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # strstr.m4 serial 24 | 1 | # strstr.m4 |
2 | dnl Copyright (C) 2008-2023 Free Software Foundation, Inc. | 2 | # serial 24 |
3 | dnl Copyright (C) 2008-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/sys_socket_h.m4 b/gl/m4/sys_socket_h.m4 index 98a10416..3bf3cb47 100644 --- a/gl/m4/sys_socket_h.m4 +++ b/gl/m4/sys_socket_h.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # sys_socket_h.m4 serial 29 | 1 | # sys_socket_h.m4 |
2 | dnl Copyright (C) 2005-2023 Free Software Foundation, Inc. | 2 | # serial 29 |
3 | dnl Copyright (C) 2005-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/sys_stat_h.m4 b/gl/m4/sys_stat_h.m4 index ca57398a..3cc50ce6 100644 --- a/gl/m4/sys_stat_h.m4 +++ b/gl/m4/sys_stat_h.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # sys_stat_h.m4 serial 42 -*- Autoconf -*- | 1 | # sys_stat_h.m4 |
2 | dnl Copyright (C) 2006-2023 Free Software Foundation, Inc. | 2 | # serial 42 -*- Autoconf -*- |
3 | dnl Copyright (C) 2006-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/sys_types_h.m4 b/gl/m4/sys_types_h.m4 index 627671fb..00d2437b 100644 --- a/gl/m4/sys_types_h.m4 +++ b/gl/m4/sys_types_h.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # sys_types_h.m4 serial 13 | 1 | # sys_types_h.m4 |
2 | dnl Copyright (C) 2011-2023 Free Software Foundation, Inc. | 2 | # serial 13 |
3 | dnl Copyright (C) 2011-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/sys_uio_h.m4 b/gl/m4/sys_uio_h.m4 index 93a65d26..a471c720 100644 --- a/gl/m4/sys_uio_h.m4 +++ b/gl/m4/sys_uio_h.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # sys_uio_h.m4 serial 3 | 1 | # sys_uio_h.m4 |
2 | dnl Copyright (C) 2011-2023 Free Software Foundation, Inc. | 2 | # serial 3 |
3 | dnl Copyright (C) 2011-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/threadlib.m4 b/gl/m4/threadlib.m4 index b536b047..f5e81479 100644 --- a/gl/m4/threadlib.m4 +++ b/gl/m4/threadlib.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # threadlib.m4 serial 32a | 1 | # threadlib.m4 |
2 | dnl Copyright (C) 2005-2023 Free Software Foundation, Inc. | 2 | # serial 42 |
3 | dnl Copyright (C) 2005-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -85,10 +86,11 @@ AC_DEFUN([gl_WEAK_SYMBOLS], | |||
85 | AC_CACHE_CHECK([whether imported symbols can be declared weak], | 86 | AC_CACHE_CHECK([whether imported symbols can be declared weak], |
86 | [gl_cv_have_weak], | 87 | [gl_cv_have_weak], |
87 | [case "$host_os" in | 88 | [case "$host_os" in |
88 | cygwin*) | 89 | cygwin* | mingw* | windows*) |
89 | dnl On Cygwin 3.2.0 with gcc 10.2, the test below would succeed, but | 90 | dnl On Cygwin 3.2.0 with gcc 10.2, and likewise on mingw 10.0.0 with |
90 | dnl programs that use pthread_in_use() with weak symbol references | 91 | dnl gcc 11.3, the test below would succeed, but programs that use |
91 | dnl crash miserably at runtime. | 92 | dnl pthread_in_use() with weak symbol references crash miserably at |
93 | dnl runtime. | ||
92 | gl_cv_have_weak="guessing no" | 94 | gl_cv_have_weak="guessing no" |
93 | ;; | 95 | ;; |
94 | *) | 96 | *) |
@@ -174,7 +176,7 @@ dnl Sets the variable LIBPMULTITHREAD, for programs that really need | |||
174 | dnl multithread functionality. The difference between LIBPTHREAD and | 176 | dnl multithread functionality. The difference between LIBPTHREAD and |
175 | dnl LIBPMULTITHREAD is that on platforms supporting weak symbols, typically | 177 | dnl LIBPMULTITHREAD is that on platforms supporting weak symbols, typically |
176 | dnl LIBPTHREAD is empty whereas LIBPMULTITHREAD is not. | 178 | dnl LIBPTHREAD is empty whereas LIBPMULTITHREAD is not. |
177 | dnl Sets the variable LIB_SCHED_YIELD to the linker options needed to use the | 179 | dnl Sets the variable SCHED_YIELD_LIB to the linker options needed to use the |
178 | dnl sched_yield() function. | 180 | dnl sched_yield() function. |
179 | dnl Adds to CPPFLAGS the flag -D_REENTRANT or -D_THREAD_SAFE if needed for | 181 | dnl Adds to CPPFLAGS the flag -D_REENTRANT or -D_THREAD_SAFE if needed for |
180 | dnl multithread-safe programs. | 182 | dnl multithread-safe programs. |
@@ -205,7 +207,7 @@ AC_DEFUN([gl_PTHREADLIB_BODY], | |||
205 | # If -pthread works, prefer it to -lpthread, since Ubuntu 14.04 | 207 | # If -pthread works, prefer it to -lpthread, since Ubuntu 14.04 |
206 | # needs -pthread for some reason. See: | 208 | # needs -pthread for some reason. See: |
207 | # https://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html | 209 | # https://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html |
208 | save_LIBS=$LIBS | 210 | saved_LIBS="$LIBS" |
209 | for gl_pthread in '' '-pthread'; do | 211 | for gl_pthread in '' '-pthread'; do |
210 | LIBS="$LIBS $gl_pthread" | 212 | LIBS="$LIBS $gl_pthread" |
211 | AC_LINK_IFELSE( | 213 | AC_LINK_IFELSE( |
@@ -219,7 +221,7 @@ AC_DEFUN([gl_PTHREADLIB_BODY], | |||
219 | [gl_pthread_api=yes | 221 | [gl_pthread_api=yes |
220 | LIBPTHREAD=$gl_pthread | 222 | LIBPTHREAD=$gl_pthread |
221 | LIBPMULTITHREAD=$gl_pthread]) | 223 | LIBPMULTITHREAD=$gl_pthread]) |
222 | LIBS=$save_LIBS | 224 | LIBS="$saved_LIBS" |
223 | test $gl_pthread_api = yes && break | 225 | test $gl_pthread_api = yes && break |
224 | done | 226 | done |
225 | echo "$as_me:__oline__: gl_pthread_api=$gl_pthread_api" >&AS_MESSAGE_LOG_FD | 227 | echo "$as_me:__oline__: gl_pthread_api=$gl_pthread_api" >&AS_MESSAGE_LOG_FD |
@@ -268,6 +270,15 @@ changequote([,])dnl | |||
268 | [Define if the pthread_in_use() detection is hard.]) | 270 | [Define if the pthread_in_use() detection is hard.]) |
269 | esac | 271 | esac |
270 | fi | 272 | fi |
273 | ], | ||
274 | [dnl This is needed on FreeBSD 5.2.1. | ||
275 | AC_CHECK_LIB([thr], [pthread_kill], | ||
276 | [if test $gl_pthread_in_glibc = yes; then | ||
277 | LIBPMULTITHREAD= | ||
278 | else | ||
279 | LIBPMULTITHREAD=-lthr | ||
280 | fi | ||
281 | ]) | ||
271 | ]) | 282 | ]) |
272 | elif test $gl_pthread_api != yes; then | 283 | elif test $gl_pthread_api != yes; then |
273 | # Some library is needed. Try libpthread and libc_r. | 284 | # Some library is needed. Try libpthread and libc_r. |
@@ -299,13 +310,16 @@ changequote([,])dnl | |||
299 | [AC_LANG_PROGRAM( | 310 | [AC_LANG_PROGRAM( |
300 | [[#include <sched.h>]], | 311 | [[#include <sched.h>]], |
301 | [[sched_yield ();]])], | 312 | [[sched_yield ();]])], |
302 | [LIB_SCHED_YIELD= | 313 | [SCHED_YIELD_LIB= |
303 | ], | 314 | ], |
304 | [dnl Solaris 7...10 has sched_yield in librt, not in libpthread or libc. | 315 | [dnl Solaris 7...10 has sched_yield in librt, not in libpthread or libc. |
305 | AC_CHECK_LIB([rt], [sched_yield], [LIB_SCHED_YIELD=-lrt], | 316 | AC_CHECK_LIB([rt], [sched_yield], [SCHED_YIELD_LIB=-lrt], |
306 | [dnl Solaris 2.5.1, 2.6 has sched_yield in libposix4, not librt. | 317 | [dnl Solaris 2.5.1, 2.6 has sched_yield in libposix4, not librt. |
307 | AC_CHECK_LIB([posix4], [sched_yield], [LIB_SCHED_YIELD=-lposix4])]) | 318 | AC_CHECK_LIB([posix4], [sched_yield], [SCHED_YIELD_LIB=-lposix4])]) |
308 | ]) | 319 | ]) |
320 | AC_SUBST([SCHED_YIELD_LIB]) | ||
321 | dnl For backward compatibility. | ||
322 | LIB_SCHED_YIELD="$SCHED_YIELD_LIB" | ||
309 | AC_SUBST([LIB_SCHED_YIELD]) | 323 | AC_SUBST([LIB_SCHED_YIELD]) |
310 | 324 | ||
311 | gl_pthreadlib_body_done=done | 325 | gl_pthreadlib_body_done=done |
@@ -340,7 +354,7 @@ AC_DEFUN([gl_STDTHREADLIB_BODY], | |||
340 | AC_CHECK_HEADERS_ONCE([threads.h]) | 354 | AC_CHECK_HEADERS_ONCE([threads.h]) |
341 | 355 | ||
342 | case "$host_os" in | 356 | case "$host_os" in |
343 | mingw*) | 357 | mingw* | windows*) |
344 | LIBSTDTHREAD= | 358 | LIBSTDTHREAD= |
345 | ;; | 359 | ;; |
346 | *) | 360 | *) |
@@ -351,7 +365,7 @@ AC_DEFUN([gl_STDTHREADLIB_BODY], | |||
351 | dnl on libpthread (for the symbol 'pthread_mutexattr_gettype'). | 365 | dnl on libpthread (for the symbol 'pthread_mutexattr_gettype'). |
352 | dnl glibc >= 2.34, AIX >= 7.1, and Solaris >= 11.4 have thrd_create in | 366 | dnl glibc >= 2.34, AIX >= 7.1, and Solaris >= 11.4 have thrd_create in |
353 | dnl libc. | 367 | dnl libc. |
354 | AC_CHECK_FUNCS([thrd_create]) | 368 | gl_CHECK_FUNCS_ANDROID([thrd_create], [[#include <threads.h>]]) |
355 | if test $ac_cv_func_thrd_create = yes; then | 369 | if test $ac_cv_func_thrd_create = yes; then |
356 | LIBSTDTHREAD= | 370 | LIBSTDTHREAD= |
357 | else | 371 | else |
@@ -364,7 +378,7 @@ AC_DEFUN([gl_STDTHREADLIB_BODY], | |||
364 | fi | 378 | fi |
365 | else | 379 | else |
366 | dnl Libraries needed by thrd.c, mtx.c, cnd.c, tss.c. | 380 | dnl Libraries needed by thrd.c, mtx.c, cnd.c, tss.c. |
367 | LIBSTDTHREAD="$LIBPMULTITHREAD $LIB_SCHED_YIELD" | 381 | LIBSTDTHREAD="$LIBPMULTITHREAD $SCHED_YIELD_LIB" |
368 | fi | 382 | fi |
369 | ;; | 383 | ;; |
370 | esac | 384 | esac |
@@ -435,10 +449,12 @@ AC_DEFUN([gl_THREADLIB_EARLY_BODY], | |||
435 | m4_ifdef([gl_THREADLIB_DEFAULT_NO], | 449 | m4_ifdef([gl_THREADLIB_DEFAULT_NO], |
436 | [m4_divert_text([DEFAULTS], [gl_use_threads_default=no])], | 450 | [m4_divert_text([DEFAULTS], [gl_use_threads_default=no])], |
437 | [m4_divert_text([DEFAULTS], [gl_use_threads_default=])]) | 451 | [m4_divert_text([DEFAULTS], [gl_use_threads_default=])]) |
438 | m4_divert_text([DEFAULTS], [gl_use_winpthreads_default=]) | 452 | dnl gl_use_winpthreads_default defaults to 'no', because in mingw 10, like |
453 | dnl in mingw 5, the use of libwinpthread still makes test-pthread-tss crash. | ||
454 | m4_divert_text([DEFAULTS], [gl_use_winpthreads_default=no]) | ||
439 | AC_ARG_ENABLE([threads], | 455 | AC_ARG_ENABLE([threads], |
440 | AS_HELP_STRING([--enable-threads={isoc|posix|isoc+posix|windows}], [specify multithreading API])m4_ifdef([gl_THREADLIB_DEFAULT_NO], [], [ | 456 | AS_HELP_STRING([[--enable-threads={isoc|posix|isoc+posix|windows}]], [specify multithreading API])m4_ifdef([gl_THREADLIB_DEFAULT_NO], [], [ |
441 | AS_HELP_STRING([--disable-threads], [build without multithread safety])]), | 457 | AS_HELP_STRING([[--disable-threads]], [build without multithread safety])]), |
442 | [gl_use_threads=$enableval], | 458 | [gl_use_threads=$enableval], |
443 | [if test -n "$gl_use_threads_default"; then | 459 | [if test -n "$gl_use_threads_default"; then |
444 | gl_use_threads="$gl_use_threads_default" | 460 | gl_use_threads="$gl_use_threads_default" |
@@ -459,7 +475,7 @@ changequote(,)dnl | |||
459 | esac | 475 | esac |
460 | ;; | 476 | ;; |
461 | dnl Obey gl_AVOID_WINPTHREAD on mingw. | 477 | dnl Obey gl_AVOID_WINPTHREAD on mingw. |
462 | mingw*) | 478 | mingw* | windows*) |
463 | case "$gl_use_winpthreads_default" in | 479 | case "$gl_use_winpthreads_default" in |
464 | yes) gl_use_threads=posix ;; | 480 | yes) gl_use_threads=posix ;; |
465 | no) gl_use_threads=windows ;; | 481 | no) gl_use_threads=windows ;; |
@@ -558,7 +574,7 @@ AC_DEFUN([gl_THREADLIB_BODY], | |||
558 | case "$gl_use_threads" in | 574 | case "$gl_use_threads" in |
559 | yes | windows | win32) # The 'win32' is for backward compatibility. | 575 | yes | windows | win32) # The 'win32' is for backward compatibility. |
560 | if { case "$host_os" in | 576 | if { case "$host_os" in |
561 | mingw*) true;; | 577 | mingw* | windows*) true;; |
562 | *) false;; | 578 | *) false;; |
563 | esac | 579 | esac |
564 | }; then | 580 | }; then |
@@ -569,6 +585,10 @@ AC_DEFUN([gl_THREADLIB_BODY], | |||
569 | ;; | 585 | ;; |
570 | esac | 586 | esac |
571 | fi | 587 | fi |
588 | else | ||
589 | dnl "$gl_use_threads" is "no". | ||
590 | AC_DEFINE([AVOID_ANY_THREADS], [1], | ||
591 | [Define if no multithread safety and no multithreading is desired.]) | ||
572 | fi | 592 | fi |
573 | AC_MSG_CHECKING([for multithread API to use]) | 593 | AC_MSG_CHECKING([for multithread API to use]) |
574 | AC_MSG_RESULT([$gl_threads_api]) | 594 | AC_MSG_RESULT([$gl_threads_api]) |
@@ -601,7 +621,8 @@ dnl ------------------- | |||
601 | dnl Sets the gl_THREADLIB default so that on mingw, a dependency to the | 621 | dnl Sets the gl_THREADLIB default so that on mingw, a dependency to the |
602 | dnl libwinpthread DLL (mingw-w64 winpthreads library) is avoided. | 622 | dnl libwinpthread DLL (mingw-w64 winpthreads library) is avoided. |
603 | dnl The user can still override it at installation time, by using the | 623 | dnl The user can still override it at installation time, by using the |
604 | dnl configure option '--enable-threads'. | 624 | dnl configure option '--enable-threads=posix'. |
625 | dnl As of 2023, this is now the default. | ||
605 | 626 | ||
606 | AC_DEFUN([gl_AVOID_WINPTHREAD], [ | 627 | AC_DEFUN([gl_AVOID_WINPTHREAD], [ |
607 | m4_divert_text([INIT_PREPARE], [gl_use_winpthreads_default=no]) | 628 | m4_divert_text([INIT_PREPARE], [gl_use_winpthreads_default=no]) |
diff --git a/gl/m4/time_h.m4 b/gl/m4/time_h.m4 index f6bf3a4f..d2f3c970 100644 --- a/gl/m4/time_h.m4 +++ b/gl/m4/time_h.m4 | |||
@@ -1,12 +1,11 @@ | |||
1 | # Configure a more-standard replacement for <time.h>. | 1 | # time_h.m4 |
2 | 2 | # serial 25 | |
3 | # Copyright (C) 2000-2001, 2003-2007, 2009-2023 Free Software Foundation, Inc. | 3 | dnl Copyright (C) 2000-2001, 2003-2007, 2009-2024 Free Software Foundation, Inc. |
4 | 4 | dnl This file is free software; the Free Software Foundation | |
5 | # serial 20 | 5 | dnl gives unlimited permission to copy and/or distribute it, |
6 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | 7 | ||
7 | # This file is free software; the Free Software Foundation | 8 | # Configure a more-standard replacement for <time.h>. |
8 | # gives unlimited permission to copy and/or distribute it, | ||
9 | # with or without modifications, as long as this notice is preserved. | ||
10 | 9 | ||
11 | # Written by Paul Eggert and Jim Meyering. | 10 | # Written by Paul Eggert and Jim Meyering. |
12 | 11 | ||
@@ -23,7 +22,10 @@ AC_DEFUN_ONCE([gl_TIME_H], | |||
23 | dnl corresponding gnulib module is not in use. | 22 | dnl corresponding gnulib module is not in use. |
24 | gl_WARN_ON_USE_PREPARE([[ | 23 | gl_WARN_ON_USE_PREPARE([[ |
25 | #include <time.h> | 24 | #include <time.h> |
26 | ]], [asctime_r ctime_r]) | 25 | ]], [ |
26 | asctime asctime_r ctime ctime_r gmtime_r localtime localtime_r mktime | ||
27 | nanosleep strftime strptime time timegm timespec_get timespec_getres tzset | ||
28 | ]) | ||
27 | 29 | ||
28 | AC_REQUIRE([AC_C_RESTRICT]) | 30 | AC_REQUIRE([AC_C_RESTRICT]) |
29 | 31 | ||
@@ -137,6 +139,7 @@ AC_DEFUN([gl_TIME_H_REQUIRE_DEFAULTS], | |||
137 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_NANOSLEEP]) | 139 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_NANOSLEEP]) |
138 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRFTIME]) | 140 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRFTIME]) |
139 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRPTIME]) | 141 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRPTIME]) |
142 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIME]) | ||
140 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMEGM]) | 143 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMEGM]) |
141 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMESPEC_GET]) | 144 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMESPEC_GET]) |
142 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMESPEC_GETRES]) | 145 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMESPEC_GETRES]) |
@@ -161,23 +164,16 @@ AC_DEFUN([gl_TIME_H_DEFAULTS], | |||
161 | HAVE_TIMESPEC_GETRES=1; AC_SUBST([HAVE_TIMESPEC_GETRES]) | 164 | HAVE_TIMESPEC_GETRES=1; AC_SUBST([HAVE_TIMESPEC_GETRES]) |
162 | dnl Even GNU libc does not have timezone_t yet. | 165 | dnl Even GNU libc does not have timezone_t yet. |
163 | HAVE_TIMEZONE_T=0; AC_SUBST([HAVE_TIMEZONE_T]) | 166 | HAVE_TIMEZONE_T=0; AC_SUBST([HAVE_TIMEZONE_T]) |
164 | dnl If another module says to replace or to not replace, do that. | 167 | REPLACE_CTIME=0; AC_SUBST([REPLACE_CTIME]) |
165 | dnl Otherwise, replace only if someone compiles with -DGNULIB_PORTCHECK; | ||
166 | dnl this lets maintainers check for portability. | ||
167 | REPLACE_CTIME=GNULIB_PORTCHECK; AC_SUBST([REPLACE_CTIME]) | ||
168 | REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; AC_SUBST([REPLACE_LOCALTIME_R]) | ||
169 | REPLACE_MKTIME=GNULIB_PORTCHECK; AC_SUBST([REPLACE_MKTIME]) | ||
170 | REPLACE_NANOSLEEP=GNULIB_PORTCHECK; AC_SUBST([REPLACE_NANOSLEEP]) | ||
171 | REPLACE_STRFTIME=GNULIB_PORTCHECK; AC_SUBST([REPLACE_STRFTIME]) | ||
172 | REPLACE_TIMEGM=GNULIB_PORTCHECK; AC_SUBST([REPLACE_TIMEGM]) | ||
173 | REPLACE_TZSET=GNULIB_PORTCHECK; AC_SUBST([REPLACE_TZSET]) | ||
174 | |||
175 | dnl Hack so that the time module doesn't depend on the sys_time module. | ||
176 | dnl First, default GNULIB_GETTIMEOFDAY to 0 if sys_time is absent. | ||
177 | : ${GNULIB_GETTIMEOFDAY=0}; AC_SUBST([GNULIB_GETTIMEOFDAY]) | ||
178 | dnl Second, it's OK to not use GNULIB_PORTCHECK for REPLACE_GMTIME | ||
179 | dnl and REPLACE_LOCALTIME, as portability to Solaris 2.6 and earlier | ||
180 | dnl is no longer a big deal. | ||
181 | REPLACE_GMTIME=0; AC_SUBST([REPLACE_GMTIME]) | 168 | REPLACE_GMTIME=0; AC_SUBST([REPLACE_GMTIME]) |
182 | REPLACE_LOCALTIME=0; AC_SUBST([REPLACE_LOCALTIME]) | 169 | REPLACE_LOCALTIME=0; AC_SUBST([REPLACE_LOCALTIME]) |
170 | REPLACE_LOCALTIME_R=0; AC_SUBST([REPLACE_LOCALTIME_R]) | ||
171 | REPLACE_MKTIME=0; AC_SUBST([REPLACE_MKTIME]) | ||
172 | REPLACE_NANOSLEEP=0; AC_SUBST([REPLACE_NANOSLEEP]) | ||
173 | REPLACE_STRFTIME=0; AC_SUBST([REPLACE_STRFTIME]) | ||
174 | REPLACE_TIME=0; AC_SUBST([REPLACE_TIME]) | ||
175 | REPLACE_TIMEGM=0; AC_SUBST([REPLACE_TIMEGM]) | ||
176 | REPLACE_TIMESPEC_GET=0; AC_SUBST([REPLACE_TIMESPEC_GET]) | ||
177 | REPLACE_TIMESPEC_GETRES=0; AC_SUBST([REPLACE_TIMESPEC_GETRES]) | ||
178 | REPLACE_TZSET=0; AC_SUBST([REPLACE_TZSET]) | ||
183 | ]) | 179 | ]) |
diff --git a/gl/m4/time_r.m4 b/gl/m4/time_r.m4 index adce438a..3675390e 100644 --- a/gl/m4/time_r.m4 +++ b/gl/m4/time_r.m4 | |||
@@ -1,10 +1,12 @@ | |||
1 | dnl Reentrant time functions: localtime_r, gmtime_r. | 1 | # time_r.m4 |
2 | 2 | # serial 1 | |
3 | dnl Copyright (C) 2003, 2006-2023 Free Software Foundation, Inc. | 3 | dnl Copyright (C) 2003, 2006-2024 Free Software Foundation, Inc. |
4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
7 | 7 | ||
8 | dnl Reentrant time functions: localtime_r, gmtime_r. | ||
9 | |||
8 | dnl Written by Paul Eggert. | 10 | dnl Written by Paul Eggert. |
9 | 11 | ||
10 | AC_DEFUN([gl_TIME_R], | 12 | AC_DEFUN([gl_TIME_R], |
@@ -57,9 +59,7 @@ AC_DEFUN([gl_TIME_R], | |||
57 | [gl_cv_time_r_posix=yes], | 59 | [gl_cv_time_r_posix=yes], |
58 | [gl_cv_time_r_posix=no]) | 60 | [gl_cv_time_r_posix=no]) |
59 | ]) | 61 | ]) |
60 | if test $gl_cv_time_r_posix = yes; then | 62 | if test $gl_cv_time_r_posix != yes; then |
61 | REPLACE_LOCALTIME_R=0 | ||
62 | else | ||
63 | REPLACE_LOCALTIME_R=1 | 63 | REPLACE_LOCALTIME_R=1 |
64 | fi | 64 | fi |
65 | else | 65 | else |
diff --git a/gl/m4/timegm.m4 b/gl/m4/timegm.m4 index 6079f1a3..c1ff2677 100644 --- a/gl/m4/timegm.m4 +++ b/gl/m4/timegm.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # timegm.m4 serial 13 | 1 | # timegm.m4 |
2 | dnl Copyright (C) 2003, 2007, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 16 |
3 | dnl Copyright (C) 2003, 2007, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -8,8 +9,7 @@ AC_DEFUN([gl_FUNC_TIMEGM], | |||
8 | [ | 9 | [ |
9 | AC_REQUIRE([gl_TIME_H_DEFAULTS]) | 10 | AC_REQUIRE([gl_TIME_H_DEFAULTS]) |
10 | AC_REQUIRE([gl_FUNC_MKTIME_WORKS]) | 11 | AC_REQUIRE([gl_FUNC_MKTIME_WORKS]) |
11 | REPLACE_TIMEGM=0 | 12 | gl_CHECK_FUNCS_ANDROID([timegm], [[#include <time.h>]]) |
12 | AC_CHECK_FUNCS_ONCE([timegm]) | ||
13 | if test $ac_cv_func_timegm = yes; then | 13 | if test $ac_cv_func_timegm = yes; then |
14 | if test "$gl_cv_func_working_mktime" != yes; then | 14 | if test "$gl_cv_func_working_mktime" != yes; then |
15 | # Assume that timegm is buggy if mktime is. | 15 | # Assume that timegm is buggy if mktime is. |
@@ -17,6 +17,9 @@ AC_DEFUN([gl_FUNC_TIMEGM], | |||
17 | fi | 17 | fi |
18 | else | 18 | else |
19 | HAVE_TIMEGM=0 | 19 | HAVE_TIMEGM=0 |
20 | case "$gl_cv_onwards_func_timegm" in | ||
21 | future*) REPLACE_TIMEGM=1 ;; | ||
22 | esac | ||
20 | fi | 23 | fi |
21 | ]) | 24 | ]) |
22 | 25 | ||
diff --git a/gl/m4/ungetc.m4 b/gl/m4/ungetc.m4 index 8977a346..42f7ec32 100644 --- a/gl/m4/ungetc.m4 +++ b/gl/m4/ungetc.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # ungetc.m4 serial 10 | 1 | # ungetc.m4 |
2 | dnl Copyright (C) 2009-2023 Free Software Foundation, Inc. | 2 | # serial 12 |
3 | dnl Copyright (C) 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -42,16 +43,16 @@ AC_DEFUN_ONCE([gl_FUNC_UNGETC_WORKS], | |||
42 | ]])], | 43 | ]])], |
43 | [gl_cv_func_ungetc_works=yes], [gl_cv_func_ungetc_works=no], | 44 | [gl_cv_func_ungetc_works=yes], [gl_cv_func_ungetc_works=no], |
44 | [case "$host_os" in | 45 | [case "$host_os" in |
45 | # Guess yes on glibc systems. | 46 | # Guess yes on glibc systems. |
46 | *-gnu* | gnu*) gl_cv_func_ungetc_works="guessing yes" ;; | 47 | *-gnu* | gnu*) gl_cv_func_ungetc_works="guessing yes" ;; |
47 | # Guess yes on musl systems. | 48 | # Guess yes on musl systems. |
48 | *-musl*) gl_cv_func_ungetc_works="guessing yes" ;; | 49 | *-musl* | midipix*) gl_cv_func_ungetc_works="guessing yes" ;; |
49 | # Guess yes on bionic systems. | 50 | # Guess yes on bionic systems. |
50 | *-android*) gl_cv_func_ungetc_works="guessing yes" ;; | 51 | *-android*) gl_cv_func_ungetc_works="guessing yes" ;; |
51 | # Guess yes on native Windows. | 52 | # Guess yes on native Windows. |
52 | mingw*) gl_cv_func_ungetc_works="guessing yes" ;; | 53 | mingw* | windows*) gl_cv_func_ungetc_works="guessing yes" ;; |
53 | # If we don't know, obey --enable-cross-guesses. | 54 | # If we don't know, obey --enable-cross-guesses. |
54 | *) gl_cv_func_ungetc_works="$gl_cross_guess_normal" ;; | 55 | *) gl_cv_func_ungetc_works="$gl_cross_guess_normal" ;; |
55 | esac | 56 | esac |
56 | ]) | 57 | ]) |
57 | ]) | 58 | ]) |
diff --git a/gl/m4/unistd_h.m4 b/gl/m4/unistd_h.m4 index f4384027..81d1b9f6 100644 --- a/gl/m4/unistd_h.m4 +++ b/gl/m4/unistd_h.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # unistd_h.m4 serial 90 | 1 | # unistd_h.m4 |
2 | dnl Copyright (C) 2006-2023 Free Software Foundation, Inc. | 2 | # serial 95 |
3 | dnl Copyright (C) 2006-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -225,6 +226,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS], | |||
225 | REPLACE_COPY_FILE_RANGE=0; AC_SUBST([REPLACE_COPY_FILE_RANGE]) | 226 | REPLACE_COPY_FILE_RANGE=0; AC_SUBST([REPLACE_COPY_FILE_RANGE]) |
226 | REPLACE_DUP=0; AC_SUBST([REPLACE_DUP]) | 227 | REPLACE_DUP=0; AC_SUBST([REPLACE_DUP]) |
227 | REPLACE_DUP2=0; AC_SUBST([REPLACE_DUP2]) | 228 | REPLACE_DUP2=0; AC_SUBST([REPLACE_DUP2]) |
229 | REPLACE_DUP3=0; AC_SUBST([REPLACE_DUP3]) | ||
228 | REPLACE_EXECL=0; AC_SUBST([REPLACE_EXECL]) | 230 | REPLACE_EXECL=0; AC_SUBST([REPLACE_EXECL]) |
229 | REPLACE_EXECLE=0; AC_SUBST([REPLACE_EXECLE]) | 231 | REPLACE_EXECLE=0; AC_SUBST([REPLACE_EXECLE]) |
230 | REPLACE_EXECLP=0; AC_SUBST([REPLACE_EXECLP]) | 232 | REPLACE_EXECLP=0; AC_SUBST([REPLACE_EXECLP]) |
@@ -233,11 +235,14 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS], | |||
233 | REPLACE_EXECVP=0; AC_SUBST([REPLACE_EXECVP]) | 235 | REPLACE_EXECVP=0; AC_SUBST([REPLACE_EXECVP]) |
234 | REPLACE_EXECVPE=0; AC_SUBST([REPLACE_EXECVPE]) | 236 | REPLACE_EXECVPE=0; AC_SUBST([REPLACE_EXECVPE]) |
235 | REPLACE_FACCESSAT=0; AC_SUBST([REPLACE_FACCESSAT]) | 237 | REPLACE_FACCESSAT=0; AC_SUBST([REPLACE_FACCESSAT]) |
238 | REPLACE_FCHDIR=0; AC_SUBST([REPLACE_FCHDIR]) | ||
236 | REPLACE_FCHOWNAT=0; AC_SUBST([REPLACE_FCHOWNAT]) | 239 | REPLACE_FCHOWNAT=0; AC_SUBST([REPLACE_FCHOWNAT]) |
240 | REPLACE_FDATASYNC=0; AC_SUBST([REPLACE_FDATASYNC]) | ||
237 | REPLACE_FTRUNCATE=0; AC_SUBST([REPLACE_FTRUNCATE]) | 241 | REPLACE_FTRUNCATE=0; AC_SUBST([REPLACE_FTRUNCATE]) |
238 | REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD]) | 242 | REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD]) |
239 | REPLACE_GETDOMAINNAME=0; AC_SUBST([REPLACE_GETDOMAINNAME]) | 243 | REPLACE_GETDOMAINNAME=0; AC_SUBST([REPLACE_GETDOMAINNAME]) |
240 | REPLACE_GETDTABLESIZE=0; AC_SUBST([REPLACE_GETDTABLESIZE]) | 244 | REPLACE_GETDTABLESIZE=0; AC_SUBST([REPLACE_GETDTABLESIZE]) |
245 | REPLACE_GETENTROPY=0; AC_SUBST([REPLACE_GETENTROPY]) | ||
241 | REPLACE_GETLOGIN_R=0; AC_SUBST([REPLACE_GETLOGIN_R]) | 246 | REPLACE_GETLOGIN_R=0; AC_SUBST([REPLACE_GETLOGIN_R]) |
242 | REPLACE_GETGROUPS=0; AC_SUBST([REPLACE_GETGROUPS]) | 247 | REPLACE_GETGROUPS=0; AC_SUBST([REPLACE_GETGROUPS]) |
243 | REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE]) | 248 | REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE]) |
@@ -248,12 +253,14 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS], | |||
248 | REPLACE_LINK=0; AC_SUBST([REPLACE_LINK]) | 253 | REPLACE_LINK=0; AC_SUBST([REPLACE_LINK]) |
249 | REPLACE_LINKAT=0; AC_SUBST([REPLACE_LINKAT]) | 254 | REPLACE_LINKAT=0; AC_SUBST([REPLACE_LINKAT]) |
250 | REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK]) | 255 | REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK]) |
256 | REPLACE_PIPE2=0; AC_SUBST([REPLACE_PIPE2]) | ||
251 | REPLACE_PREAD=0; AC_SUBST([REPLACE_PREAD]) | 257 | REPLACE_PREAD=0; AC_SUBST([REPLACE_PREAD]) |
252 | REPLACE_PWRITE=0; AC_SUBST([REPLACE_PWRITE]) | 258 | REPLACE_PWRITE=0; AC_SUBST([REPLACE_PWRITE]) |
253 | REPLACE_READ=0; AC_SUBST([REPLACE_READ]) | 259 | REPLACE_READ=0; AC_SUBST([REPLACE_READ]) |
254 | REPLACE_READLINK=0; AC_SUBST([REPLACE_READLINK]) | 260 | REPLACE_READLINK=0; AC_SUBST([REPLACE_READLINK]) |
255 | REPLACE_READLINKAT=0; AC_SUBST([REPLACE_READLINKAT]) | 261 | REPLACE_READLINKAT=0; AC_SUBST([REPLACE_READLINKAT]) |
256 | REPLACE_RMDIR=0; AC_SUBST([REPLACE_RMDIR]) | 262 | REPLACE_RMDIR=0; AC_SUBST([REPLACE_RMDIR]) |
263 | REPLACE_SETHOSTNAME=0; AC_SUBST([REPLACE_SETHOSTNAME]) | ||
257 | REPLACE_SLEEP=0; AC_SUBST([REPLACE_SLEEP]) | 264 | REPLACE_SLEEP=0; AC_SUBST([REPLACE_SLEEP]) |
258 | REPLACE_SYMLINK=0; AC_SUBST([REPLACE_SYMLINK]) | 265 | REPLACE_SYMLINK=0; AC_SUBST([REPLACE_SYMLINK]) |
259 | REPLACE_SYMLINKAT=0; AC_SUBST([REPLACE_SYMLINKAT]) | 266 | REPLACE_SYMLINKAT=0; AC_SUBST([REPLACE_SYMLINKAT]) |
diff --git a/gl/m4/unlocked-io.m4 b/gl/m4/unlocked-io.m4 index 407c0bac..e96cf5f8 100644 --- a/gl/m4/unlocked-io.m4 +++ b/gl/m4/unlocked-io.m4 | |||
@@ -1,10 +1,9 @@ | |||
1 | # unlocked-io.m4 serial 16 | 1 | # unlocked-io.m4 |
2 | 2 | # serial 16 | |
3 | # Copyright (C) 1998-2006, 2009-2023 Free Software Foundation, Inc. | 3 | dnl Copyright (C) 1998-2006, 2009-2024 Free Software Foundation, Inc. |
4 | # | 4 | dnl This file is free software; the Free Software Foundation |
5 | # This file is free software; the Free Software Foundation | 5 | dnl gives unlimited permission to copy and/or distribute it, |
6 | # gives unlimited permission to copy and/or distribute it, | 6 | dnl with or without modifications, as long as this notice is preserved. |
7 | # with or without modifications, as long as this notice is preserved. | ||
8 | 7 | ||
9 | dnl From Jim Meyering. | 8 | dnl From Jim Meyering. |
10 | dnl | 9 | dnl |
diff --git a/gl/m4/vararrays.m4 b/gl/m4/vararrays.m4 index fd6230c2..9211f69d 100644 --- a/gl/m4/vararrays.m4 +++ b/gl/m4/vararrays.m4 | |||
@@ -1,13 +1,13 @@ | |||
1 | # Check for variable-length arrays. | 1 | # vararrays.m4 |
2 | |||
3 | # serial 6 | 2 | # serial 6 |
3 | dnl Copyright (C) 2001, 2009-2024 Free Software Foundation, Inc. | ||
4 | dnl This file is free software; the Free Software Foundation | ||
5 | dnl gives unlimited permission to copy and/or distribute it, | ||
6 | dnl with or without modifications, as long as this notice is preserved. | ||
4 | 7 | ||
5 | # From Paul Eggert | 8 | # Check for variable-length arrays. |
6 | 9 | ||
7 | # Copyright (C) 2001, 2009-2023 Free Software Foundation, Inc. | 10 | # From Paul Eggert |
8 | # This file is free software; the Free Software Foundation | ||
9 | # gives unlimited permission to copy and/or distribute it, | ||
10 | # with or without modifications, as long as this notice is preserved. | ||
11 | 11 | ||
12 | m4_version_prereq([2.70], [], [ | 12 | m4_version_prereq([2.70], [], [ |
13 | 13 | ||
diff --git a/gl/m4/vasnprintf.m4 b/gl/m4/vasnprintf.m4 index 6361c843..1ea2055e 100644 --- a/gl/m4/vasnprintf.m4 +++ b/gl/m4/vasnprintf.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # vasnprintf.m4 serial 38 | 1 | # vasnprintf.m4 |
2 | dnl Copyright (C) 2002-2004, 2006-2023 Free Software Foundation, Inc. | 2 | # serial 52 |
3 | dnl Copyright (C) 2002-2004, 2006-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -29,6 +30,15 @@ AC_DEFUN([gl_REPLACE_VASNPRINTF], | |||
29 | gl_PREREQ_ASNPRINTF | 30 | gl_PREREQ_ASNPRINTF |
30 | ]) | 31 | ]) |
31 | 32 | ||
33 | AC_DEFUN([gl_FUNC_VASNWPRINTF], | ||
34 | [ | ||
35 | AC_LIBOBJ([printf-args]) | ||
36 | gl_PREREQ_PRINTF_ARGS | ||
37 | gl_PREREQ_PRINTF_PARSE | ||
38 | gl_PREREQ_VASNWPRINTF | ||
39 | gl_PREREQ_ASNPRINTF | ||
40 | ]) | ||
41 | |||
32 | # Prerequisites of lib/printf-args.h, lib/printf-args.c. | 42 | # Prerequisites of lib/printf-args.h, lib/printf-args.c. |
33 | AC_DEFUN([gl_PREREQ_PRINTF_ARGS], | 43 | AC_DEFUN([gl_PREREQ_PRINTF_ARGS], |
34 | [ | 44 | [ |
@@ -37,6 +47,7 @@ AC_DEFUN([gl_PREREQ_PRINTF_ARGS], | |||
37 | ]) | 47 | ]) |
38 | 48 | ||
39 | # Prerequisites of lib/printf-parse.h, lib/printf-parse.c. | 49 | # Prerequisites of lib/printf-parse.h, lib/printf-parse.c. |
50 | # Prerequisites of lib/wprintf-parse.h, lib/wprintf-parse.c. | ||
40 | AC_DEFUN([gl_PREREQ_PRINTF_PARSE], | 51 | AC_DEFUN([gl_PREREQ_PRINTF_PARSE], |
41 | [ | 52 | [ |
42 | AC_REQUIRE([gl_FEATURES_H]) | 53 | AC_REQUIRE([gl_FEATURES_H]) |
@@ -50,19 +61,13 @@ AC_DEFUN([gl_PREREQ_PRINTF_PARSE], | |||
50 | AC_REQUIRE([gt_AC_TYPE_INTMAX_T]) | 61 | AC_REQUIRE([gt_AC_TYPE_INTMAX_T]) |
51 | ]) | 62 | ]) |
52 | 63 | ||
53 | # Prerequisites of lib/vasnprintf.c. | 64 | # Prerequisites of lib/vasnprintf.c if !WIDE_CHAR_VERSION. |
54 | AC_DEFUN_ONCE([gl_PREREQ_VASNPRINTF], | 65 | AC_DEFUN_ONCE([gl_PREREQ_VASNPRINTF], |
55 | [ | 66 | [ |
56 | AC_REQUIRE([AC_FUNC_ALLOCA]) | 67 | AC_CHECK_FUNCS([snprintf strnlen wcrtomb]) |
57 | AC_REQUIRE([gt_TYPE_WCHAR_T]) | ||
58 | AC_REQUIRE([gt_TYPE_WINT_T]) | ||
59 | AC_CHECK_FUNCS([snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb]) | ||
60 | dnl Use the _snprintf function only if it is declared (because on NetBSD it | 68 | dnl Use the _snprintf function only if it is declared (because on NetBSD it |
61 | dnl is defined as a weak alias of snprintf; we prefer to use the latter). | 69 | dnl is defined as a weak alias of snprintf; we prefer to use the latter). |
62 | AC_CHECK_DECLS([_snprintf], , , [[#include <stdio.h>]]) | 70 | AC_CHECK_DECLS([_snprintf], , , [[#include <stdio.h>]]) |
63 | dnl Knowing DBL_EXPBIT0_WORD and DBL_EXPBIT0_BIT enables an optimization | ||
64 | dnl in the code for NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE. | ||
65 | AC_REQUIRE([gl_DOUBLE_EXPONENT_LOCATION]) | ||
66 | dnl We can avoid a lot of code by assuming that snprintf's return value | 71 | dnl We can avoid a lot of code by assuming that snprintf's return value |
67 | dnl conforms to ISO C99. So check that. | 72 | dnl conforms to ISO C99. So check that. |
68 | AC_REQUIRE([gl_SNPRINTF_RETVAL_C99]) | 73 | AC_REQUIRE([gl_SNPRINTF_RETVAL_C99]) |
@@ -84,6 +89,108 @@ AC_DEFUN_ONCE([gl_PREREQ_VASNPRINTF], | |||
84 | terminated.]) | 89 | terminated.]) |
85 | ;; | 90 | ;; |
86 | esac | 91 | esac |
92 | gl_PREREQ_VASNXPRINTF | ||
93 | ]) | ||
94 | |||
95 | # Prerequisites of lib/vasnwprintf.c. | ||
96 | AC_DEFUN_ONCE([gl_PREREQ_VASNWPRINTF], | ||
97 | [ | ||
98 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
99 | AC_CHECK_FUNCS_ONCE([swprintf wcsnlen mbrtowc]) | ||
100 | AC_CHECK_DECLS([_snwprintf], , , [[#include <stdio.h>]]) | ||
101 | AC_CHECK_DECLS([wcsnlen], , , [[#include <wchar.h>]]) | ||
102 | gl_SWPRINTF_WORKS | ||
103 | case "$gl_cv_func_swprintf_works" in | ||
104 | *yes) | ||
105 | AC_DEFINE([HAVE_WORKING_SWPRINTF], [1], | ||
106 | [Define if the swprintf function works correctly when it produces output | ||
107 | that contains null wide characters.]) | ||
108 | ;; | ||
109 | esac | ||
110 | gl_MBRTOWC_C_LOCALE | ||
111 | case "$gl_cv_func_mbrtowc_C_locale_sans_EILSEQ" in | ||
112 | *yes) | ||
113 | AC_CACHE_CHECK([whether swprintf in the C locale is free of encoding errors], | ||
114 | [gl_cv_func_swprintf_C_locale_sans_EILSEQ], | ||
115 | [ | ||
116 | AC_RUN_IFELSE( | ||
117 | [AC_LANG_SOURCE([[ | ||
118 | #ifndef __USE_MINGW_ANSI_STDIO | ||
119 | # define __USE_MINGW_ANSI_STDIO 1 | ||
120 | #endif | ||
121 | #include <stdio.h> | ||
122 | #include <wchar.h> | ||
123 | int main() | ||
124 | { | ||
125 | int result = 0; | ||
126 | { /* This test fails on glibc 2.35, musl libc 1.2.4, FreeBSD 13.2, NetBSD 9.3, | ||
127 | OpenBSD 7.2, Cygwin 2.9.0. | ||
128 | Reported at <https://www.openwall.com/lists/musl/2023/06/12/2>. */ | ||
129 | wchar_t buf[12]; | ||
130 | int ret = swprintf (buf, 12, L"%c", '\377'); | ||
131 | if (ret < 0) | ||
132 | result |= 1; | ||
133 | } | ||
134 | return result; | ||
135 | }]])], | ||
136 | [gl_cv_func_swprintf_C_locale_sans_EILSEQ=yes], | ||
137 | [gl_cv_func_swprintf_C_locale_sans_EILSEQ=no], | ||
138 | [case "$host_os" in | ||
139 | # Guess no on glibc systems. | ||
140 | *-gnu* | gnu*) gl_cv_func_swprintf_C_locale_sans_EILSEQ="guessing yes";; | ||
141 | # Guess no on musl systems. | ||
142 | *-musl* | midipix*) gl_cv_func_swprintf_C_locale_sans_EILSEQ="guessing no";; | ||
143 | # If we don't know, obey --enable-cross-guesses. | ||
144 | *) gl_cv_func_swprintf_C_locale_sans_EILSEQ="$gl_cross_guess_normal";; | ||
145 | esac | ||
146 | ]) | ||
147 | ]) | ||
148 | ;; | ||
149 | esac | ||
150 | if case "$gl_cv_func_mbrtowc_C_locale_sans_EILSEQ" in | ||
151 | *yes) false ;; | ||
152 | *) true ;; | ||
153 | esac \ | ||
154 | || case "$gl_cv_func_swprintf_C_locale_sans_EILSEQ" in | ||
155 | *yes) false ;; | ||
156 | *) true ;; | ||
157 | esac; then | ||
158 | AC_DEFINE([NEED_WPRINTF_DIRECTIVE_C], [1], | ||
159 | [Define if the vasnwprintf implementation needs special code for | ||
160 | the 'c' directive.]) | ||
161 | fi | ||
162 | gl_SWPRINTF_DIRECTIVE_LA | ||
163 | case "$gl_cv_func_swprintf_directive_la" in | ||
164 | *yes) ;; | ||
165 | *) | ||
166 | AC_DEFINE([NEED_WPRINTF_DIRECTIVE_LA], [1], | ||
167 | [Define if the vasnwprintf implementation needs special code for | ||
168 | the 'a' directive with 'long double' arguments.]) | ||
169 | ;; | ||
170 | esac | ||
171 | gl_SWPRINTF_DIRECTIVE_LC | ||
172 | case "$gl_cv_func_swprintf_directive_lc" in | ||
173 | *yes) ;; | ||
174 | *) | ||
175 | AC_DEFINE([NEED_WPRINTF_DIRECTIVE_LC], [1], | ||
176 | [Define if the vasnwprintf implementation needs special code for | ||
177 | the 'lc' directive.]) | ||
178 | ;; | ||
179 | esac | ||
180 | gl_MUSL_LIBC | ||
181 | gl_PREREQ_VASNXPRINTF | ||
182 | ]) | ||
183 | |||
184 | # Common prerequisites of lib/vasnprintf.c and lib/vasnwprintf.c. | ||
185 | AC_DEFUN_ONCE([gl_PREREQ_VASNXPRINTF], | ||
186 | [ | ||
187 | AC_REQUIRE([AC_FUNC_ALLOCA]) | ||
188 | AC_REQUIRE([gt_TYPE_WCHAR_T]) | ||
189 | AC_REQUIRE([gt_TYPE_WINT_T]) | ||
190 | AC_CHECK_FUNCS([wcslen]) | ||
191 | dnl Knowing DBL_EXPBIT0_WORD and DBL_EXPBIT0_BIT enables an optimization | ||
192 | dnl in the code for NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE. | ||
193 | AC_REQUIRE([gl_DOUBLE_EXPONENT_LOCATION]) | ||
87 | ]) | 194 | ]) |
88 | 195 | ||
89 | # Extra prerequisites of lib/vasnprintf.c for supporting 'long double' | 196 | # Extra prerequisites of lib/vasnprintf.c for supporting 'long double' |
@@ -152,7 +259,22 @@ AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_A], | |||
152 | AC_DEFINE([NEED_PRINTF_DIRECTIVE_A], [1], | 259 | AC_DEFINE([NEED_PRINTF_DIRECTIVE_A], [1], |
153 | [Define if the vasnprintf implementation needs special code for | 260 | [Define if the vasnprintf implementation needs special code for |
154 | the 'a' and 'A' directives.]) | 261 | the 'a' and 'A' directives.]) |
155 | AC_CHECK_FUNCS([nl_langinfo]) | 262 | gl_CHECK_FUNCS_ANDROID([nl_langinfo], [[#include <langinfo.h>]]) |
263 | ;; | ||
264 | esac | ||
265 | ]) | ||
266 | |||
267 | # Extra prerequisites of lib/vasnprintf.c for supporting the 'b' directive. | ||
268 | AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_B], | ||
269 | [ | ||
270 | AC_REQUIRE([gl_PRINTF_DIRECTIVE_B]) | ||
271 | case "$gl_cv_func_printf_directive_b" in | ||
272 | *yes) | ||
273 | ;; | ||
274 | *) | ||
275 | AC_DEFINE([NEED_PRINTF_DIRECTIVE_B], [1], | ||
276 | [Define if the vasnprintf implementation needs special code for | ||
277 | the 'b' directive.]) | ||
156 | ;; | 278 | ;; |
157 | esac | 279 | esac |
158 | ]) | 280 | ]) |
@@ -187,6 +309,21 @@ AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_LS], | |||
187 | esac | 309 | esac |
188 | ]) | 310 | ]) |
189 | 311 | ||
312 | # Extra prerequisites of lib/vasnprintf.c for supporting the 'lc' directive. | ||
313 | AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_LC], | ||
314 | [ | ||
315 | AC_REQUIRE([gl_PRINTF_DIRECTIVE_LC]) | ||
316 | case "$gl_cv_func_printf_directive_lc" in | ||
317 | *yes) | ||
318 | ;; | ||
319 | *) | ||
320 | AC_DEFINE([NEED_PRINTF_DIRECTIVE_LC], [1], | ||
321 | [Define if the vasnprintf implementation needs special code for | ||
322 | the 'lc' directive.]) | ||
323 | ;; | ||
324 | esac | ||
325 | ]) | ||
326 | |||
190 | # Extra prerequisites of lib/vasnprintf.c for supporting the ' flag. | 327 | # Extra prerequisites of lib/vasnprintf.c for supporting the ' flag. |
191 | AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_GROUPING], | 328 | AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_GROUPING], |
192 | [ | 329 | [ |
@@ -232,6 +369,22 @@ AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_ZERO], | |||
232 | esac | 369 | esac |
233 | ]) | 370 | ]) |
234 | 371 | ||
372 | # Extra prerequisites of lib/vasnprintf.c for supporting the # flag with a | ||
373 | # zero precision and a zero value in the 'x' and 'X' directives. | ||
374 | AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_ALT_PRECISION_ZERO], | ||
375 | [ | ||
376 | AC_REQUIRE([gl_PRINTF_FLAG_ALT_PRECISION_ZERO]) | ||
377 | case "$gl_cv_func_printf_flag_alt_precision_zero" in | ||
378 | *yes) | ||
379 | ;; | ||
380 | *) | ||
381 | AC_DEFINE([NEED_PRINTF_FLAG_ALT_PRECISION_ZERO], [1], | ||
382 | [Define if the vasnprintf implementation needs special code for the | ||
383 | # flag with a zero precision and a zero value in the 'x' and 'X' directives.]) | ||
384 | ;; | ||
385 | esac | ||
386 | ]) | ||
387 | |||
235 | # Extra prerequisites of lib/vasnprintf.c for supporting large precisions. | 388 | # Extra prerequisites of lib/vasnprintf.c for supporting large precisions. |
236 | AC_DEFUN([gl_PREREQ_VASNPRINTF_PRECISION], | 389 | AC_DEFUN([gl_PREREQ_VASNPRINTF_PRECISION], |
237 | [ | 390 | [ |
@@ -276,23 +429,53 @@ AC_DEFUN([gl_PREREQ_VASNPRINTF_ENOMEM], | |||
276 | ]) | 429 | ]) |
277 | 430 | ||
278 | # Prerequisites of lib/vasnprintf.c including all extras for POSIX compliance. | 431 | # Prerequisites of lib/vasnprintf.c including all extras for POSIX compliance. |
279 | AC_DEFUN([gl_PREREQ_VASNPRINTF_WITH_EXTRAS], | 432 | AC_DEFUN([gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS], |
280 | [ | 433 | [ |
281 | AC_REQUIRE([gl_PREREQ_VASNPRINTF]) | 434 | AC_REQUIRE([gl_PREREQ_VASNPRINTF]) |
282 | gl_PREREQ_VASNPRINTF_LONG_DOUBLE | 435 | gl_PREREQ_VASNPRINTF_LONG_DOUBLE |
283 | gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE | 436 | gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE |
284 | gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE | 437 | gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE |
285 | gl_PREREQ_VASNPRINTF_DIRECTIVE_A | 438 | gl_PREREQ_VASNPRINTF_DIRECTIVE_A |
439 | gl_PREREQ_VASNPRINTF_DIRECTIVE_B | ||
286 | gl_PREREQ_VASNPRINTF_DIRECTIVE_F | 440 | gl_PREREQ_VASNPRINTF_DIRECTIVE_F |
287 | gl_PREREQ_VASNPRINTF_DIRECTIVE_LS | 441 | gl_PREREQ_VASNPRINTF_DIRECTIVE_LS |
442 | gl_PREREQ_VASNPRINTF_DIRECTIVE_LC | ||
288 | gl_PREREQ_VASNPRINTF_FLAG_GROUPING | 443 | gl_PREREQ_VASNPRINTF_FLAG_GROUPING |
289 | gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST | 444 | gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST |
290 | gl_PREREQ_VASNPRINTF_FLAG_ZERO | 445 | gl_PREREQ_VASNPRINTF_FLAG_ZERO |
446 | gl_PREREQ_VASNPRINTF_FLAG_ALT_PRECISION_ZERO | ||
291 | gl_PREREQ_VASNPRINTF_PRECISION | 447 | gl_PREREQ_VASNPRINTF_PRECISION |
292 | gl_PREREQ_VASNPRINTF_ENOMEM | 448 | gl_PREREQ_VASNPRINTF_ENOMEM |
293 | ]) | 449 | ]) |
294 | 450 | ||
451 | # Extra prerequisites of lib/vasnprintf.c for supporting the 'B' directive. | ||
452 | AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_UPPERCASE_B], | ||
453 | [ | ||
454 | AC_REQUIRE([gl_PRINTF_DIRECTIVE_UPPERCASE_B]) | ||
455 | case "$gl_cv_func_printf_directive_uppercase_b" in | ||
456 | *yes) | ||
457 | ;; | ||
458 | *) | ||
459 | AC_DEFINE([NEED_PRINTF_DIRECTIVE_UPPERCASE_B], [1], | ||
460 | [Define if the vasnprintf implementation needs special code for | ||
461 | the 'B' directive.]) | ||
462 | ;; | ||
463 | esac | ||
464 | ]) | ||
465 | |||
466 | # Prerequisites of lib/vasnprintf.c including all extras for POSIX compliance | ||
467 | # and GNU compatibility. | ||
468 | AC_DEFUN([gl_PREREQ_VASNPRINTF_WITH_GNU_EXTRAS], | ||
469 | [ | ||
470 | gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS | ||
471 | AC_DEFINE([SUPPORT_GNU_PRINTF_DIRECTIVES], [1], | ||
472 | [Define if the vasnprintf implementation should support GNU compatible | ||
473 | printf directives.]) | ||
474 | gl_PREREQ_VASNPRINTF_DIRECTIVE_UPPERCASE_B | ||
475 | ]) | ||
476 | |||
295 | # Prerequisites of lib/asnprintf.c. | 477 | # Prerequisites of lib/asnprintf.c. |
478 | # Prerequisites of lib/asnwprintf.c. | ||
296 | AC_DEFUN([gl_PREREQ_ASNPRINTF], | 479 | AC_DEFUN([gl_PREREQ_ASNPRINTF], |
297 | [ | 480 | [ |
298 | ]) | 481 | ]) |
diff --git a/gl/m4/vasprintf.m4 b/gl/m4/vasprintf.m4 index 6e6156a7..73f7b807 100644 --- a/gl/m4/vasprintf.m4 +++ b/gl/m4/vasprintf.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # vasprintf.m4 serial 6 | 1 | # vasprintf.m4 |
2 | dnl Copyright (C) 2002-2003, 2006-2007, 2009-2023 Free Software Foundation, | 2 | # serial 6 |
3 | dnl Copyright (C) 2002-2003, 2006-2007, 2009-2024 Free Software Foundation, | ||
3 | dnl Inc. | 4 | dnl Inc. |
4 | dnl This file is free software; the Free Software Foundation | 5 | dnl This file is free software; the Free Software Foundation |
5 | dnl gives unlimited permission to copy and/or distribute it, | 6 | dnl gives unlimited permission to copy and/or distribute it, |
diff --git a/gl/m4/visibility.m4 b/gl/m4/visibility.m4 index f0468e89..ecf09686 100644 --- a/gl/m4/visibility.m4 +++ b/gl/m4/visibility.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # visibility.m4 serial 8 | 1 | # visibility.m4 |
2 | dnl Copyright (C) 2005, 2008, 2010-2023 Free Software Foundation, Inc. | 2 | # serial 9 |
3 | dnl Copyright (C) 2005, 2008, 2010-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -31,18 +32,18 @@ AC_DEFUN([gl_VISIBILITY], | |||
31 | dnl user has put into $CC $CFLAGS $CPPFLAGS. | 32 | dnl user has put into $CC $CFLAGS $CPPFLAGS. |
32 | AC_CACHE_CHECK([whether the -Werror option is usable], | 33 | AC_CACHE_CHECK([whether the -Werror option is usable], |
33 | [gl_cv_cc_vis_werror], | 34 | [gl_cv_cc_vis_werror], |
34 | [gl_save_CFLAGS="$CFLAGS" | 35 | [gl_saved_CFLAGS="$CFLAGS" |
35 | CFLAGS="$CFLAGS -Werror" | 36 | CFLAGS="$CFLAGS -Werror" |
36 | AC_COMPILE_IFELSE( | 37 | AC_COMPILE_IFELSE( |
37 | [AC_LANG_PROGRAM([[]], [[]])], | 38 | [AC_LANG_PROGRAM([[]], [[]])], |
38 | [gl_cv_cc_vis_werror=yes], | 39 | [gl_cv_cc_vis_werror=yes], |
39 | [gl_cv_cc_vis_werror=no]) | 40 | [gl_cv_cc_vis_werror=no]) |
40 | CFLAGS="$gl_save_CFLAGS" | 41 | CFLAGS="$gl_saved_CFLAGS" |
41 | ]) | 42 | ]) |
42 | dnl Now check whether visibility declarations are supported. | 43 | dnl Now check whether visibility declarations are supported. |
43 | AC_CACHE_CHECK([for simple visibility declarations], | 44 | AC_CACHE_CHECK([for simple visibility declarations], |
44 | [gl_cv_cc_visibility], | 45 | [gl_cv_cc_visibility], |
45 | [gl_save_CFLAGS="$CFLAGS" | 46 | [gl_saved_CFLAGS="$CFLAGS" |
46 | CFLAGS="$CFLAGS -fvisibility=hidden" | 47 | CFLAGS="$CFLAGS -fvisibility=hidden" |
47 | dnl We use the option -Werror and a function dummyfunc, because on some | 48 | dnl We use the option -Werror and a function dummyfunc, because on some |
48 | dnl platforms (Cygwin 1.7) the use of -fvisibility triggers a warning | 49 | dnl platforms (Cygwin 1.7) the use of -fvisibility triggers a warning |
@@ -68,7 +69,7 @@ AC_DEFUN([gl_VISIBILITY], | |||
68 | [[]])], | 69 | [[]])], |
69 | [gl_cv_cc_visibility=yes], | 70 | [gl_cv_cc_visibility=yes], |
70 | [gl_cv_cc_visibility=no]) | 71 | [gl_cv_cc_visibility=no]) |
71 | CFLAGS="$gl_save_CFLAGS" | 72 | CFLAGS="$gl_saved_CFLAGS" |
72 | ]) | 73 | ]) |
73 | if test $gl_cv_cc_visibility = yes; then | 74 | if test $gl_cv_cc_visibility = yes; then |
74 | CFLAG_VISIBILITY="-fvisibility=hidden" | 75 | CFLAG_VISIBILITY="-fvisibility=hidden" |
diff --git a/gl/m4/vsnprintf.m4 b/gl/m4/vsnprintf.m4 index 7fbb11c4..9f321f3f 100644 --- a/gl/m4/vsnprintf.m4 +++ b/gl/m4/vsnprintf.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # vsnprintf.m4 serial 7 | 1 | # vsnprintf.m4 |
2 | dnl Copyright (C) 2002-2004, 2007-2023 Free Software Foundation, Inc. | 2 | # serial 7 |
3 | dnl Copyright (C) 2002-2004, 2007-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/warn-on-use.m4 b/gl/m4/warn-on-use.m4 index 10649c5c..6c8c76b8 100644 --- a/gl/m4/warn-on-use.m4 +++ b/gl/m4/warn-on-use.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # warn-on-use.m4 serial 10 | 1 | # warn-on-use.m4 |
2 | dnl Copyright (C) 2010-2023 Free Software Foundation, Inc. | 2 | # serial 11 |
3 | dnl Copyright (C) 2010-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -36,7 +37,7 @@ AC_DEFUN([gl_WARN_ON_USE_PREPARE], | |||
36 | dnl clang (e.g. strndup), reference ac_compile_for_check_decl instead | 37 | dnl clang (e.g. strndup), reference ac_compile_for_check_decl instead |
37 | dnl of ac_compile. If, for whatever reason, the override of AC_PROG_CC | 38 | dnl of ac_compile. If, for whatever reason, the override of AC_PROG_CC |
38 | dnl in zzgnulib.m4 is inactive, use the original ac_compile. | 39 | dnl in zzgnulib.m4 is inactive, use the original ac_compile. |
39 | ac_save_ac_compile="$ac_compile" | 40 | ac_saved_ac_compile="$ac_compile" |
40 | if test -n "$ac_compile_for_check_decl"; then | 41 | if test -n "$ac_compile_for_check_decl"; then |
41 | ac_compile="$ac_compile_for_check_decl" | 42 | ac_compile="$ac_compile_for_check_decl" |
42 | fi | 43 | fi |
@@ -46,7 +47,7 @@ AC_DEFUN([gl_WARN_ON_USE_PREPARE], | |||
46 | [[#undef $gl_func | 47 | [[#undef $gl_func |
47 | (void) $gl_func;]])], | 48 | (void) $gl_func;]])], |
48 | [AS_VAR_SET([gl_Symbol], [yes])], [AS_VAR_SET([gl_Symbol], [no])])]) | 49 | [AS_VAR_SET([gl_Symbol], [yes])], [AS_VAR_SET([gl_Symbol], [no])])]) |
49 | ac_compile="$ac_save_ac_compile" | 50 | ac_compile="$ac_saved_ac_compile" |
50 | AS_VAR_IF([gl_Symbol], [yes], | 51 | AS_VAR_IF([gl_Symbol], [yes], |
51 | [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_RAW_DECL_$gl_func]), [1]) | 52 | [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_RAW_DECL_$gl_func]), [1]) |
52 | dnl Shortcut for an AC_CHECK_DECL invocation that may come later: | 53 | dnl Shortcut for an AC_CHECK_DECL invocation that may come later: |
diff --git a/gl/m4/wchar_h.m4 b/gl/m4/wchar_h.m4 index 8ec66193..995bdc65 100644 --- a/gl/m4/wchar_h.m4 +++ b/gl/m4/wchar_h.m4 | |||
@@ -1,13 +1,13 @@ | |||
1 | dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues. | 1 | # wchar_h.m4 |
2 | 2 | # serial 64 | |
3 | dnl Copyright (C) 2007-2023 Free Software Foundation, Inc. | 3 | dnl Copyright (C) 2007-2024 Free Software Foundation, Inc. |
4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
7 | 7 | ||
8 | dnl Written by Eric Blake. | 8 | dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues. |
9 | 9 | ||
10 | # wchar_h.m4 serial 55 | 10 | dnl Written by Eric Blake. |
11 | 11 | ||
12 | AC_DEFUN_ONCE([gl_WCHAR_H], | 12 | AC_DEFUN_ONCE([gl_WCHAR_H], |
13 | [ | 13 | [ |
@@ -86,8 +86,8 @@ AC_DEFUN([gl_WCHAR_H_INLINE_OK], | |||
86 | dnl z/OS when using the XPLINK object format (due to duplicate | 86 | dnl z/OS when using the XPLINK object format (due to duplicate |
87 | dnl CSECT names). Instead, temporarily redefine $ac_compile so | 87 | dnl CSECT names). Instead, temporarily redefine $ac_compile so |
88 | dnl that the object file has the latter name from the start. | 88 | dnl that the object file has the latter name from the start. |
89 | save_ac_compile="$ac_compile" | 89 | saved_ac_compile="$ac_compile" |
90 | ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest1/` | 90 | ac_compile=`echo "$saved_ac_compile" | sed s/conftest/conftest1/` |
91 | if echo '#include "conftest.c"' >conftest1.c \ | 91 | if echo '#include "conftest.c"' >conftest1.c \ |
92 | && AC_TRY_EVAL([ac_compile]); then | 92 | && AC_TRY_EVAL([ac_compile]); then |
93 | AC_LANG_CONFTEST([ | 93 | AC_LANG_CONFTEST([ |
@@ -97,7 +97,7 @@ AC_DEFUN([gl_WCHAR_H_INLINE_OK], | |||
97 | int zero (void) { return 0; } | 97 | int zero (void) { return 0; } |
98 | ]])]) | 98 | ]])]) |
99 | dnl See note above about renaming object files. | 99 | dnl See note above about renaming object files. |
100 | ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest2/` | 100 | ac_compile=`echo "$saved_ac_compile" | sed s/conftest/conftest2/` |
101 | if echo '#include "conftest.c"' >conftest2.c \ | 101 | if echo '#include "conftest.c"' >conftest2.c \ |
102 | && AC_TRY_EVAL([ac_compile]); then | 102 | && AC_TRY_EVAL([ac_compile]); then |
103 | if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&AS_MESSAGE_LOG_FD 2>&1; then | 103 | if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&AS_MESSAGE_LOG_FD 2>&1; then |
@@ -107,7 +107,7 @@ AC_DEFUN([gl_WCHAR_H_INLINE_OK], | |||
107 | fi | 107 | fi |
108 | fi | 108 | fi |
109 | fi | 109 | fi |
110 | ac_compile="$save_ac_compile" | 110 | ac_compile="$saved_ac_compile" |
111 | rm -f conftest[12].c conftest[12].$ac_objext conftest$ac_exeext | 111 | rm -f conftest[12].c conftest[12].$ac_objext conftest$ac_exeext |
112 | ;; | 112 | ;; |
113 | esac | 113 | esac |
@@ -147,6 +147,7 @@ AC_DEFUN([gl_WCHAR_H_REQUIRE_DEFAULTS], | |||
147 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_BTOWC]) | 147 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_BTOWC]) |
148 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTOB]) | 148 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTOB]) |
149 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSINIT]) | 149 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSINIT]) |
150 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSZERO]) | ||
150 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBRTOWC]) | 151 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBRTOWC]) |
151 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBRLEN]) | 152 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBRLEN]) |
152 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSRTOWCS]) | 153 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSRTOWCS]) |
@@ -185,6 +186,7 @@ AC_DEFUN([gl_WCHAR_H_REQUIRE_DEFAULTS], | |||
185 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSTOK]) | 186 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSTOK]) |
186 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSWIDTH]) | 187 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSWIDTH]) |
187 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSFTIME]) | 188 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSFTIME]) |
189 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WGETCWD]) | ||
188 | dnl Support Microsoft deprecated alias function names by default. | 190 | dnl Support Microsoft deprecated alias function names by default. |
189 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_WCSDUP], [1]) | 191 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_WCSDUP], [1]) |
190 | ]) | 192 | ]) |
@@ -253,5 +255,10 @@ AC_DEFUN([gl_WCHAR_H_DEFAULTS], | |||
253 | REPLACE_WCWIDTH=0; AC_SUBST([REPLACE_WCWIDTH]) | 255 | REPLACE_WCWIDTH=0; AC_SUBST([REPLACE_WCWIDTH]) |
254 | REPLACE_WCSWIDTH=0; AC_SUBST([REPLACE_WCSWIDTH]) | 256 | REPLACE_WCSWIDTH=0; AC_SUBST([REPLACE_WCSWIDTH]) |
255 | REPLACE_WCSFTIME=0; AC_SUBST([REPLACE_WCSFTIME]) | 257 | REPLACE_WCSFTIME=0; AC_SUBST([REPLACE_WCSFTIME]) |
258 | REPLACE_WCSCMP=0; AC_SUBST([REPLACE_WCSCMP]) | ||
259 | REPLACE_WCSNCMP=0; AC_SUBST([REPLACE_WCSNCMP]) | ||
260 | REPLACE_WCSSTR=0; AC_SUBST([REPLACE_WCSSTR]) | ||
256 | REPLACE_WCSTOK=0; AC_SUBST([REPLACE_WCSTOK]) | 261 | REPLACE_WCSTOK=0; AC_SUBST([REPLACE_WCSTOK]) |
262 | REPLACE_WMEMCMP=0; AC_SUBST([REPLACE_WMEMCMP]) | ||
263 | REPLACE_WMEMPCPY=0; AC_SUBST([REPLACE_WMEMPCPY]) | ||
257 | ]) | 264 | ]) |
diff --git a/gl/m4/wchar_t.m4 b/gl/m4/wchar_t.m4 index 50bde08a..968832cb 100644 --- a/gl/m4/wchar_t.m4 +++ b/gl/m4/wchar_t.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # wchar_t.m4 serial 4 (gettext-0.18.2) | 1 | # wchar_t.m4 |
2 | dnl Copyright (C) 2002-2003, 2008-2023 Free Software Foundation, Inc. | 2 | # serial 4 (gettext-0.18.2) |
3 | dnl Copyright (C) 2002-2003, 2008-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/wcrtomb.m4 b/gl/m4/wcrtomb.m4 index d51b36e1..35dff6f0 100644 --- a/gl/m4/wcrtomb.m4 +++ b/gl/m4/wcrtomb.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # wcrtomb.m4 serial 17 | 1 | # wcrtomb.m4 |
2 | dnl Copyright (C) 2008-2023 Free Software Foundation, Inc. | 2 | # serial 19 |
3 | dnl Copyright (C) 2008-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -82,9 +83,11 @@ int main () | |||
82 | changequote(,)dnl | 83 | changequote(,)dnl |
83 | case "$host_os" in | 84 | case "$host_os" in |
84 | # Guess no on AIX 4, OSF/1, Solaris, native Windows. | 85 | # Guess no on AIX 4, OSF/1, Solaris, native Windows. |
85 | aix4* | osf* | solaris* | mingw*) gl_cv_func_wcrtomb_retval="guessing no" ;; | 86 | aix4* | osf* | solaris* | mingw* | windows*) |
87 | gl_cv_func_wcrtomb_retval="guessing no" ;; | ||
86 | # Guess yes otherwise. | 88 | # Guess yes otherwise. |
87 | *) gl_cv_func_wcrtomb_retval="guessing yes" ;; | 89 | *) |
90 | gl_cv_func_wcrtomb_retval="guessing yes" ;; | ||
88 | esac | 91 | esac |
89 | changequote([,])dnl | 92 | changequote([,])dnl |
90 | if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then | 93 | if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then |
@@ -97,12 +100,14 @@ changequote([,])dnl | |||
97 | int main () | 100 | int main () |
98 | { | 101 | { |
99 | int result = 0; | 102 | int result = 0; |
100 | if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) | 103 | if (strcmp ("$LOCALE_FR", "none") != 0 |
104 | && setlocale (LC_ALL, "$LOCALE_FR") != NULL) | ||
101 | { | 105 | { |
102 | if (wcrtomb (NULL, 0, NULL) != 1) | 106 | if (wcrtomb (NULL, 0, NULL) != 1) |
103 | result |= 1; | 107 | result |= 1; |
104 | } | 108 | } |
105 | if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) | 109 | if (strcmp ("$LOCALE_FR_UTF8", "none") != 0 |
110 | && setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) | ||
106 | { | 111 | { |
107 | if (wcrtomb (NULL, 0, NULL) != 1) | 112 | if (wcrtomb (NULL, 0, NULL) != 1) |
108 | result |= 2; | 113 | result |= 2; |
@@ -113,12 +118,14 @@ int main () | |||
113 | result |= 2; | 118 | result |= 2; |
114 | } | 119 | } |
115 | } | 120 | } |
116 | if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) | 121 | if (strcmp ("$LOCALE_JA", "none") != 0 |
122 | && setlocale (LC_ALL, "$LOCALE_JA") != NULL) | ||
117 | { | 123 | { |
118 | if (wcrtomb (NULL, 0, NULL) != 1) | 124 | if (wcrtomb (NULL, 0, NULL) != 1) |
119 | result |= 4; | 125 | result |= 4; |
120 | } | 126 | } |
121 | if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) | 127 | if (strcmp ("$LOCALE_ZH_CN", "none") != 0 |
128 | && setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) | ||
122 | { | 129 | { |
123 | if (wcrtomb (NULL, 0, NULL) != 1) | 130 | if (wcrtomb (NULL, 0, NULL) != 1) |
124 | result |= 8; | 131 | result |= 8; |
diff --git a/gl/m4/wctype.m4 b/gl/m4/wctype.m4 new file mode 100644 index 00000000..e5d70740 --- /dev/null +++ b/gl/m4/wctype.m4 | |||
@@ -0,0 +1,52 @@ | |||
1 | # wctype.m4 | ||
2 | # serial 6 | ||
3 | dnl Copyright (C) 2011-2024 Free Software Foundation, Inc. | ||
4 | dnl This file is free software; the Free Software Foundation | ||
5 | dnl gives unlimited permission to copy and/or distribute it, | ||
6 | dnl with or without modifications, as long as this notice is preserved. | ||
7 | |||
8 | AC_DEFUN_ONCE([gl_FUNC_WCTYPE], | ||
9 | [ | ||
10 | AC_REQUIRE([gl_WCTYPE_H_DEFAULTS]) | ||
11 | AC_REQUIRE([gl_WCTYPE_H]) | ||
12 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
13 | HAVE_WCTYPE=$HAVE_WCTYPE_T | ||
14 | if test $HAVE_WCTYPE = 1; then | ||
15 | AC_CACHE_CHECK([whether wctype supports the "blank" and "punct" character classes], | ||
16 | [gl_cv_func_wctype_works], | ||
17 | [AC_RUN_IFELSE( | ||
18 | [AC_LANG_SOURCE([[ | ||
19 | #include <ctype.h> | ||
20 | #include <wchar.h> | ||
21 | #include <wctype.h> | ||
22 | int main () | ||
23 | { | ||
24 | /* This test fails on mingw. */ | ||
25 | if (wctype ("blank") == (wctype_t)0) | ||
26 | return 1; | ||
27 | /* This test fails on MSVC 14. */ | ||
28 | if ((! iswctype ('\t', wctype ("blank"))) != (! iswblank ('\t'))) | ||
29 | return 2; | ||
30 | /* This test fails on Android 11. */ | ||
31 | if ((! iswctype ('\`', wctype ("punct"))) != (! ispunct ('\`'))) | ||
32 | return 4; | ||
33 | return 0; | ||
34 | } | ||
35 | ]])], | ||
36 | [gl_cv_func_wctype_works=yes], [gl_cv_func_wctype_works=no], | ||
37 | [case "$host_os" in | ||
38 | # Guess no on native Windows. | ||
39 | mingw* | windows*) gl_cv_func_wctype_works="guessing no" ;; | ||
40 | # Guess no on Android. | ||
41 | android*) gl_cv_func_wctype_works="guessing no" ;; | ||
42 | # Guess yes otherwise. | ||
43 | *) gl_cv_func_wctype_works="guessing yes" ;; | ||
44 | esac | ||
45 | ]) | ||
46 | ]) | ||
47 | case "$gl_cv_func_wctype_works" in | ||
48 | *yes) ;; | ||
49 | *) REPLACE_WCTYPE=1 ;; | ||
50 | esac | ||
51 | fi | ||
52 | ]) | ||
diff --git a/gl/m4/wctype_h.m4 b/gl/m4/wctype_h.m4 index 6856a735..a3b07c2a 100644 --- a/gl/m4/wctype_h.m4 +++ b/gl/m4/wctype_h.m4 | |||
@@ -1,8 +1,9 @@ | |||
1 | # wctype_h.m4 serial 30 | 1 | # wctype_h.m4 |
2 | # serial 33 | ||
2 | 3 | ||
3 | dnl A placeholder for ISO C99 <wctype.h>, for platforms that lack it. | 4 | dnl A placeholder for ISO C99 <wctype.h>, for platforms that lack it. |
4 | 5 | ||
5 | dnl Copyright (C) 2006-2023 Free Software Foundation, Inc. | 6 | dnl Copyright (C) 2006-2024 Free Software Foundation, Inc. |
6 | dnl This file is free software; the Free Software Foundation | 7 | dnl This file is free software; the Free Software Foundation |
7 | dnl gives unlimited permission to copy and/or distribute it, | 8 | dnl gives unlimited permission to copy and/or distribute it, |
8 | dnl with or without modifications, as long as this notice is preserved. | 9 | dnl with or without modifications, as long as this notice is preserved. |
@@ -178,6 +179,7 @@ AC_DEFUN([gl_WCTYPE_H_REQUIRE_DEFAULTS], | |||
178 | m4_defun(GL_MODULE_INDICATOR_PREFIX[_WCTYPE_H_MODULE_INDICATOR_DEFAULTS], [ | 179 | m4_defun(GL_MODULE_INDICATOR_PREFIX[_WCTYPE_H_MODULE_INDICATOR_DEFAULTS], [ |
179 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWBLANK]) | 180 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWBLANK]) |
180 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWDIGIT]) | 181 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWDIGIT]) |
182 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWPUNCT]) | ||
181 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWXDIGIT]) | 183 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWXDIGIT]) |
182 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTYPE]) | 184 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTYPE]) |
183 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWCTYPE]) | 185 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWCTYPE]) |
@@ -196,5 +198,8 @@ AC_DEFUN([gl_WCTYPE_H_DEFAULTS], | |||
196 | HAVE_WCTRANS_T=1; AC_SUBST([HAVE_WCTRANS_T]) | 198 | HAVE_WCTRANS_T=1; AC_SUBST([HAVE_WCTRANS_T]) |
197 | REPLACE_ISWBLANK=0; AC_SUBST([REPLACE_ISWBLANK]) | 199 | REPLACE_ISWBLANK=0; AC_SUBST([REPLACE_ISWBLANK]) |
198 | REPLACE_ISWDIGIT=0; AC_SUBST([REPLACE_ISWDIGIT]) | 200 | REPLACE_ISWDIGIT=0; AC_SUBST([REPLACE_ISWDIGIT]) |
201 | REPLACE_ISWPUNCT=0; AC_SUBST([REPLACE_ISWPUNCT]) | ||
199 | REPLACE_ISWXDIGIT=0; AC_SUBST([REPLACE_ISWXDIGIT]) | 202 | REPLACE_ISWXDIGIT=0; AC_SUBST([REPLACE_ISWXDIGIT]) |
203 | REPLACE_WCTRANS=0; AC_SUBST([REPLACE_WCTRANS]) | ||
204 | REPLACE_WCTYPE=0; AC_SUBST([REPLACE_WCTYPE]) | ||
200 | ]) | 205 | ]) |
diff --git a/gl/m4/wint_t.m4 b/gl/m4/wint_t.m4 index dfd743b3..883fac28 100644 --- a/gl/m4/wint_t.m4 +++ b/gl/m4/wint_t.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # wint_t.m4 serial 11 | 1 | # wint_t.m4 |
2 | dnl Copyright (C) 2003, 2007-2023 Free Software Foundation, Inc. | 2 | # serial 11 |
3 | dnl Copyright (C) 2003, 2007-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/xalloc.m4 b/gl/m4/xalloc.m4 index fc56f59a..d44d0f08 100644 --- a/gl/m4/xalloc.m4 +++ b/gl/m4/xalloc.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # xalloc.m4 serial 18 | 1 | # xalloc.m4 |
2 | dnl Copyright (C) 2002-2006, 2009-2023 Free Software Foundation, Inc. | 2 | # serial 18 |
3 | dnl Copyright (C) 2002-2006, 2009-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/xsize.m4 b/gl/m4/xsize.m4 index 649db9c5..e5784973 100644 --- a/gl/m4/xsize.m4 +++ b/gl/m4/xsize.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # xsize.m4 serial 5 | 1 | # xsize.m4 |
2 | dnl Copyright (C) 2003-2004, 2008-2023 Free Software Foundation, Inc. | 2 | # serial 5 |
3 | dnl Copyright (C) 2003-2004, 2008-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/zzgnulib.m4 b/gl/m4/zzgnulib.m4 index 362102b6..710fba4e 100644 --- a/gl/m4/zzgnulib.m4 +++ b/gl/m4/zzgnulib.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # zzgnulib.m4 serial 1 | 1 | # zzgnulib.m4 |
2 | dnl Copyright (C) 2020-2023 Free Software Foundation, Inc. | 2 | # serial 1 |
3 | dnl Copyright (C) 2020-2024 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |