diff options
author | RincewindsHat <12514511+RincewindsHat@users.noreply.github.com> | 2023-01-31 15:36:15 +0100 |
---|---|---|
committer | RincewindsHat <12514511+RincewindsHat@users.noreply.github.com> | 2023-01-31 15:36:15 +0100 |
commit | f1d177d730edc36c47a1c152464931ea873af958 (patch) | |
tree | 7602d9cb35d26e445218e25fbf004476c1312b9d | |
parent | 34c6fae0ca405cddf2d60e76d785fc520d336582 (diff) | |
download | monitoring-plugins-f1d177d.tar.gz |
remove gl/c++defs, replace gl/gettext with gl/gettext-h
-rw-r--r-- | gl/Makefile.am | 27 | ||||
-rw-r--r-- | gl/m4/gettext.m4 | 386 | ||||
-rw-r--r-- | gl/m4/gnulib-cache.m4 | 6 | ||||
-rw-r--r-- | gl/m4/gnulib-comp.m4 | 17 | ||||
-rw-r--r-- | gl/m4/host-cpu-c-abi.m4 | 678 | ||||
-rw-r--r-- | gl/m4/iconv.m4 | 293 | ||||
-rw-r--r-- | gl/m4/intl-thread-locale.m4 | 219 | ||||
-rw-r--r-- | gl/m4/intlmacosx.m4 | 65 | ||||
-rw-r--r-- | gl/m4/lib-ld.m4 | 168 | ||||
-rw-r--r-- | gl/m4/lib-link.m4 | 813 | ||||
-rw-r--r-- | gl/m4/lib-prefix.m4 | 323 | ||||
-rw-r--r-- | gl/m4/nls.m4 | 32 | ||||
-rw-r--r-- | gl/m4/po.m4 | 450 | ||||
-rw-r--r-- | gl/m4/progtest.m4 | 91 |
14 files changed, 3 insertions, 3565 deletions
diff --git a/gl/Makefile.am b/gl/Makefile.am index 3865bf78..dcebd4aa 100644 --- a/gl/Makefile.am +++ b/gl/Makefile.am | |||
@@ -33,7 +33,6 @@ | |||
33 | # --no-libtool \ | 33 | # --no-libtool \ |
34 | # --macro-prefix=gl \ | 34 | # --macro-prefix=gl \ |
35 | # --no-vc-files \ | 35 | # --no-vc-files \ |
36 | # --no-vc-files \ | ||
37 | # base64 \ | 36 | # base64 \ |
38 | # crypto/sha256 \ | 37 | # crypto/sha256 \ |
39 | # dirname \ | 38 | # dirname \ |
@@ -44,7 +43,7 @@ | |||
44 | # gethostname \ | 43 | # gethostname \ |
45 | # getloadavg \ | 44 | # getloadavg \ |
46 | # getopt-gnu \ | 45 | # getopt-gnu \ |
47 | # gettext \ | 46 | # gettext-h \ |
48 | # idpriv-droptemp \ | 47 | # idpriv-droptemp \ |
49 | # mountlist \ | 48 | # mountlist \ |
50 | # regex \ | 49 | # regex \ |
@@ -703,23 +702,6 @@ libgnu_a_SOURCES += getprogname.h getprogname.c | |||
703 | 702 | ||
704 | ## end gnulib module getprogname | 703 | ## end gnulib module getprogname |
705 | 704 | ||
706 | ## begin gnulib module gettext | ||
707 | |||
708 | # If your project uses "gettextize --intl" to put a source-code | ||
709 | # copy of libintl into the package, every Makefile.am needs | ||
710 | # -I$(top_builddir)/intl, so that <libintl.h> can be found in this directory. | ||
711 | # Here's one way to do this: | ||
712 | #AM_CPPFLAGS += -I$(top_builddir)/intl | ||
713 | # This option has no effect when the user disables NLS (because then | ||
714 | # the intl directory contains no libintl.h file). This option is not | ||
715 | # enabled by default because the intl directory might not exist if | ||
716 | # your project does not use "gettext --intl", and some compilers | ||
717 | # complain about -I options applied to nonexistent directories. | ||
718 | |||
719 | EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath | ||
720 | |||
721 | ## end gnulib module gettext | ||
722 | |||
723 | ## begin gnulib module gettext-h | 705 | ## begin gnulib module gettext-h |
724 | 706 | ||
725 | libgnu_a_SOURCES += gettext.h | 707 | libgnu_a_SOURCES += gettext.h |
@@ -767,13 +749,6 @@ EXTRA_DIST += hard-locale.h | |||
767 | 749 | ||
768 | ## end gnulib module hard-locale | 750 | ## end gnulib module hard-locale |
769 | 751 | ||
770 | ## begin gnulib module havelib | ||
771 | |||
772 | |||
773 | EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath | ||
774 | |||
775 | ## end gnulib module havelib | ||
776 | |||
777 | ## begin gnulib module ialloc | 752 | ## begin gnulib module ialloc |
778 | 753 | ||
779 | libgnu_a_SOURCES += ialloc.c | 754 | libgnu_a_SOURCES += ialloc.c |
diff --git a/gl/m4/gettext.m4 b/gl/m4/gettext.m4 deleted file mode 100644 index a0eda3d8..00000000 --- a/gl/m4/gettext.m4 +++ /dev/null | |||
@@ -1,386 +0,0 @@ | |||
1 | # gettext.m4 serial 71 (gettext-0.20.2) | ||
2 | dnl Copyright (C) 1995-2014, 2016, 2018-2023 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | 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 | ||
7 | dnl This file can be used in projects which are not available under | ||
8 | dnl the GNU General Public License or the GNU Lesser General Public | ||
9 | dnl License but which still want to provide support for the GNU gettext | ||
10 | dnl functionality. | ||
11 | dnl Please note that the actual code of the GNU gettext library is covered | ||
12 | dnl by the GNU Lesser General Public License, and the rest of the GNU | ||
13 | dnl gettext package is covered by the GNU General Public License. | ||
14 | dnl They are *not* in the public domain. | ||
15 | |||
16 | dnl Authors: | ||
17 | dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000. | ||
18 | dnl Bruno Haible <haible@clisp.cons.org>, 2000-2006, 2008-2010. | ||
19 | |||
20 | dnl Macro to add for using GNU gettext. | ||
21 | |||
22 | dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). | ||
23 | dnl INTLSYMBOL must be one of 'external', 'use-libtool'. | ||
24 | dnl INTLSYMBOL should be 'external' for packages other than GNU gettext, and | ||
25 | dnl 'use-libtool' for the packages 'gettext-runtime' and 'gettext-tools'. | ||
26 | dnl If INTLSYMBOL is 'use-libtool', then a libtool library | ||
27 | dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, | ||
28 | dnl depending on --{enable,disable}-{shared,static} and on the presence of | ||
29 | dnl AM-DISABLE-SHARED). | ||
30 | dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext | ||
31 | dnl implementations (in libc or libintl) without the ngettext() function | ||
32 | dnl will be ignored. If NEEDSYMBOL is specified and is | ||
33 | dnl 'need-formatstring-macros', then GNU gettext implementations that don't | ||
34 | dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored. | ||
35 | dnl INTLDIR is used to find the intl libraries. If empty, | ||
36 | dnl the value '$(top_builddir)/intl/' is used. | ||
37 | dnl | ||
38 | dnl The result of the configuration is one of three cases: | ||
39 | dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled | ||
40 | dnl and used. | ||
41 | dnl Catalog format: GNU --> install in $(datadir) | ||
42 | dnl Catalog extension: .mo after installation, .gmo in source tree | ||
43 | dnl 2) GNU gettext has been found in the system's C library. | ||
44 | dnl Catalog format: GNU --> install in $(datadir) | ||
45 | dnl Catalog extension: .mo after installation, .gmo in source tree | ||
46 | dnl 3) No internationalization, always use English msgid. | ||
47 | dnl Catalog format: none | ||
48 | dnl Catalog extension: none | ||
49 | dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. | ||
50 | dnl The use of .gmo is historical (it was needed to avoid overwriting the | ||
51 | dnl GNU format catalogs when building on a platform with an X/Open gettext), | ||
52 | dnl but we keep it in order not to force irrelevant filename changes on the | ||
53 | dnl maintainers. | ||
54 | dnl | ||
55 | AC_DEFUN([AM_GNU_GETTEXT], | ||
56 | [ | ||
57 | dnl Argument checking. | ||
58 | ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [use-libtool], , | ||
59 | [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT | ||
60 | ])])])]) | ||
61 | ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old], | ||
62 | [errprint([ERROR: Use of AM_GNU_GETTEXT without [external] argument is no longer supported. | ||
63 | ])]) | ||
64 | ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , | ||
65 | [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT | ||
66 | ])])])]) | ||
67 | define([gt_included_intl], | ||
68 | ifelse([$1], [external], [no], [yes])) | ||
69 | gt_NEEDS_INIT | ||
70 | AM_GNU_GETTEXT_NEED([$2]) | ||
71 | |||
72 | AC_REQUIRE([AM_PO_SUBDIRS])dnl | ||
73 | ifelse(gt_included_intl, yes, [ | ||
74 | AC_REQUIRE([AM_INTL_SUBDIR])dnl | ||
75 | ]) | ||
76 | |||
77 | dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. | ||
78 | AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) | ||
79 | AC_REQUIRE([AC_LIB_RPATH]) | ||
80 | |||
81 | dnl Sometimes libintl requires libiconv, so first search for libiconv. | ||
82 | dnl Ideally we would do this search only after the | ||
83 | dnl if test "$USE_NLS" = "yes"; then | ||
84 | dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then | ||
85 | dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT | ||
86 | dnl the configure script would need to contain the same shell code | ||
87 | dnl again, outside any 'if'. There are two solutions: | ||
88 | dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. | ||
89 | dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. | ||
90 | dnl Since AC_PROVIDE_IFELSE is not documented, we avoid it. | ||
91 | ifelse(gt_included_intl, yes, , [ | ||
92 | AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) | ||
93 | ]) | ||
94 | |||
95 | dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation. | ||
96 | gt_INTL_MACOSX | ||
97 | |||
98 | dnl Set USE_NLS. | ||
99 | AC_REQUIRE([AM_NLS]) | ||
100 | |||
101 | ifelse(gt_included_intl, yes, [ | ||
102 | BUILD_INCLUDED_LIBINTL=no | ||
103 | USE_INCLUDED_LIBINTL=no | ||
104 | ]) | ||
105 | LIBINTL= | ||
106 | LTLIBINTL= | ||
107 | POSUB= | ||
108 | |||
109 | dnl Add a version number to the cache macros. | ||
110 | case " $gt_needs " in | ||
111 | *" need-formatstring-macros "*) gt_api_version=3 ;; | ||
112 | *" need-ngettext "*) gt_api_version=2 ;; | ||
113 | *) gt_api_version=1 ;; | ||
114 | esac | ||
115 | gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" | ||
116 | gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" | ||
117 | |||
118 | dnl If we use NLS figure out what method | ||
119 | if test "$USE_NLS" = "yes"; then | ||
120 | gt_use_preinstalled_gnugettext=no | ||
121 | ifelse(gt_included_intl, yes, [ | ||
122 | AC_MSG_CHECKING([whether included gettext is requested]) | ||
123 | AC_ARG_WITH([included-gettext], | ||
124 | [ --with-included-gettext use the GNU gettext library included here], | ||
125 | nls_cv_force_use_gnu_gettext=$withval, | ||
126 | nls_cv_force_use_gnu_gettext=no) | ||
127 | AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext]) | ||
128 | |||
129 | nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" | ||
130 | if test "$nls_cv_force_use_gnu_gettext" != "yes"; then | ||
131 | ]) | ||
132 | dnl User does not insist on using GNU NLS library. Figure out what | ||
133 | dnl to use. If GNU gettext is available we use this. Else we have | ||
134 | dnl to fall back to GNU NLS library. | ||
135 | |||
136 | if test $gt_api_version -ge 3; then | ||
137 | gt_revision_test_code=' | ||
138 | #ifndef __GNU_GETTEXT_SUPPORTED_REVISION | ||
139 | #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) | ||
140 | #endif | ||
141 | changequote(,)dnl | ||
142 | typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; | ||
143 | changequote([,])dnl | ||
144 | ' | ||
145 | else | ||
146 | gt_revision_test_code= | ||
147 | fi | ||
148 | if test $gt_api_version -ge 2; then | ||
149 | gt_expression_test_code=' + * ngettext ("", "", 0)' | ||
150 | else | ||
151 | gt_expression_test_code= | ||
152 | fi | ||
153 | |||
154 | AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], | ||
155 | [AC_LINK_IFELSE( | ||
156 | [AC_LANG_PROGRAM( | ||
157 | [[ | ||
158 | #include <libintl.h> | ||
159 | #ifndef __GNU_GETTEXT_SUPPORTED_REVISION | ||
160 | extern int _nl_msg_cat_cntr; | ||
161 | extern int *_nl_domain_bindings; | ||
162 | #define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_domain_bindings) | ||
163 | #else | ||
164 | #define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 | ||
165 | #endif | ||
166 | $gt_revision_test_code | ||
167 | ]], | ||
168 | [[ | ||
169 | bindtextdomain ("", ""); | ||
170 | return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION | ||
171 | ]])], | ||
172 | [eval "$gt_func_gnugettext_libc=yes"], | ||
173 | [eval "$gt_func_gnugettext_libc=no"])]) | ||
174 | |||
175 | if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then | ||
176 | dnl Sometimes libintl requires libiconv, so first search for libiconv. | ||
177 | ifelse(gt_included_intl, yes, , [ | ||
178 | AM_ICONV_LINK | ||
179 | ]) | ||
180 | dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL | ||
181 | dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) | ||
182 | dnl because that would add "-liconv" to LIBINTL and LTLIBINTL | ||
183 | dnl even if libiconv doesn't exist. | ||
184 | AC_LIB_LINKFLAGS_BODY([intl]) | ||
185 | AC_CACHE_CHECK([for GNU gettext in libintl], | ||
186 | [$gt_func_gnugettext_libintl], | ||
187 | [gt_save_CPPFLAGS="$CPPFLAGS" | ||
188 | CPPFLAGS="$CPPFLAGS $INCINTL" | ||
189 | gt_save_LIBS="$LIBS" | ||
190 | LIBS="$LIBS $LIBINTL" | ||
191 | dnl Now see whether libintl exists and does not depend on libiconv. | ||
192 | AC_LINK_IFELSE( | ||
193 | [AC_LANG_PROGRAM( | ||
194 | [[ | ||
195 | #include <libintl.h> | ||
196 | #ifndef __GNU_GETTEXT_SUPPORTED_REVISION | ||
197 | extern int _nl_msg_cat_cntr; | ||
198 | extern | ||
199 | #ifdef __cplusplus | ||
200 | "C" | ||
201 | #endif | ||
202 | const char *_nl_expand_alias (const char *); | ||
203 | #define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias ("")) | ||
204 | #else | ||
205 | #define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 | ||
206 | #endif | ||
207 | $gt_revision_test_code | ||
208 | ]], | ||
209 | [[ | ||
210 | bindtextdomain ("", ""); | ||
211 | return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION | ||
212 | ]])], | ||
213 | [eval "$gt_func_gnugettext_libintl=yes"], | ||
214 | [eval "$gt_func_gnugettext_libintl=no"]) | ||
215 | dnl Now see whether libintl exists and depends on libiconv. | ||
216 | if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then | ||
217 | LIBS="$LIBS $LIBICONV" | ||
218 | AC_LINK_IFELSE( | ||
219 | [AC_LANG_PROGRAM( | ||
220 | [[ | ||
221 | #include <libintl.h> | ||
222 | #ifndef __GNU_GETTEXT_SUPPORTED_REVISION | ||
223 | extern int _nl_msg_cat_cntr; | ||
224 | extern | ||
225 | #ifdef __cplusplus | ||
226 | "C" | ||
227 | #endif | ||
228 | const char *_nl_expand_alias (const char *); | ||
229 | #define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias ("")) | ||
230 | #else | ||
231 | #define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 | ||
232 | #endif | ||
233 | $gt_revision_test_code | ||
234 | ]], | ||
235 | [[ | ||
236 | bindtextdomain ("", ""); | ||
237 | return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION | ||
238 | ]])], | ||
239 | [LIBINTL="$LIBINTL $LIBICONV" | ||
240 | LTLIBINTL="$LTLIBINTL $LTLIBICONV" | ||
241 | eval "$gt_func_gnugettext_libintl=yes" | ||
242 | ]) | ||
243 | fi | ||
244 | CPPFLAGS="$gt_save_CPPFLAGS" | ||
245 | LIBS="$gt_save_LIBS"]) | ||
246 | fi | ||
247 | |||
248 | dnl If an already present or preinstalled GNU gettext() is found, | ||
249 | dnl use it. But if this macro is used in GNU gettext, and GNU | ||
250 | dnl gettext is already preinstalled in libintl, we update this | ||
251 | dnl libintl. (Cf. the install rule in intl/Makefile.in.) | ||
252 | if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ | ||
253 | || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ | ||
254 | && test "$PACKAGE" != gettext-runtime \ | ||
255 | && test "$PACKAGE" != gettext-tools; }; then | ||
256 | gt_use_preinstalled_gnugettext=yes | ||
257 | else | ||
258 | dnl Reset the values set by searching for libintl. | ||
259 | LIBINTL= | ||
260 | LTLIBINTL= | ||
261 | INCINTL= | ||
262 | fi | ||
263 | |||
264 | ifelse(gt_included_intl, yes, [ | ||
265 | if test "$gt_use_preinstalled_gnugettext" != "yes"; then | ||
266 | dnl GNU gettext is not found in the C library. | ||
267 | dnl Fall back on included GNU gettext library. | ||
268 | nls_cv_use_gnu_gettext=yes | ||
269 | fi | ||
270 | fi | ||
271 | |||
272 | if test "$nls_cv_use_gnu_gettext" = "yes"; then | ||
273 | dnl Mark actions used to generate GNU NLS library. | ||
274 | BUILD_INCLUDED_LIBINTL=yes | ||
275 | USE_INCLUDED_LIBINTL=yes | ||
276 | LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.la $LIBICONV $LIBTHREAD" | ||
277 | LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.la $LTLIBICONV $LTLIBTHREAD" | ||
278 | LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` | ||
279 | fi | ||
280 | |||
281 | CATOBJEXT= | ||
282 | if test "$gt_use_preinstalled_gnugettext" = "yes" \ | ||
283 | || test "$nls_cv_use_gnu_gettext" = "yes"; then | ||
284 | dnl Mark actions to use GNU gettext tools. | ||
285 | CATOBJEXT=.gmo | ||
286 | fi | ||
287 | ]) | ||
288 | |||
289 | if test -n "$INTL_MACOSX_LIBS"; then | ||
290 | if test "$gt_use_preinstalled_gnugettext" = "yes" \ | ||
291 | || test "$nls_cv_use_gnu_gettext" = "yes"; then | ||
292 | dnl Some extra flags are needed during linking. | ||
293 | LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" | ||
294 | LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" | ||
295 | fi | ||
296 | fi | ||
297 | |||
298 | if test "$gt_use_preinstalled_gnugettext" = "yes" \ | ||
299 | || test "$nls_cv_use_gnu_gettext" = "yes"; then | ||
300 | AC_DEFINE([ENABLE_NLS], [1], | ||
301 | [Define to 1 if translation of program messages to the user's native language | ||
302 | is requested.]) | ||
303 | else | ||
304 | USE_NLS=no | ||
305 | fi | ||
306 | fi | ||
307 | |||
308 | AC_MSG_CHECKING([whether to use NLS]) | ||
309 | AC_MSG_RESULT([$USE_NLS]) | ||
310 | if test "$USE_NLS" = "yes"; then | ||
311 | AC_MSG_CHECKING([where the gettext function comes from]) | ||
312 | if test "$gt_use_preinstalled_gnugettext" = "yes"; then | ||
313 | if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then | ||
314 | gt_source="external libintl" | ||
315 | else | ||
316 | gt_source="libc" | ||
317 | fi | ||
318 | else | ||
319 | gt_source="included intl directory" | ||
320 | fi | ||
321 | AC_MSG_RESULT([$gt_source]) | ||
322 | fi | ||
323 | |||
324 | if test "$USE_NLS" = "yes"; then | ||
325 | |||
326 | if test "$gt_use_preinstalled_gnugettext" = "yes"; then | ||
327 | if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then | ||
328 | AC_MSG_CHECKING([how to link with libintl]) | ||
329 | AC_MSG_RESULT([$LIBINTL]) | ||
330 | AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) | ||
331 | fi | ||
332 | |||
333 | dnl For backward compatibility. Some packages may be using this. | ||
334 | AC_DEFINE([HAVE_GETTEXT], [1], | ||
335 | [Define if the GNU gettext() function is already present or preinstalled.]) | ||
336 | AC_DEFINE([HAVE_DCGETTEXT], [1], | ||
337 | [Define if the GNU dcgettext() function is already present or preinstalled.]) | ||
338 | fi | ||
339 | |||
340 | dnl We need to process the po/ directory. | ||
341 | POSUB=po | ||
342 | fi | ||
343 | |||
344 | ifelse(gt_included_intl, yes, [ | ||
345 | dnl In GNU gettext we have to set BUILD_INCLUDED_LIBINTL to 'yes' | ||
346 | dnl because some of the testsuite requires it. | ||
347 | BUILD_INCLUDED_LIBINTL=yes | ||
348 | |||
349 | dnl Make all variables we use known to autoconf. | ||
350 | AC_SUBST([BUILD_INCLUDED_LIBINTL]) | ||
351 | AC_SUBST([USE_INCLUDED_LIBINTL]) | ||
352 | AC_SUBST([CATOBJEXT]) | ||
353 | ]) | ||
354 | |||
355 | dnl For backward compatibility. Some Makefiles may be using this. | ||
356 | INTLLIBS="$LIBINTL" | ||
357 | AC_SUBST([INTLLIBS]) | ||
358 | |||
359 | dnl Make all documented variables known to autoconf. | ||
360 | AC_SUBST([LIBINTL]) | ||
361 | AC_SUBST([LTLIBINTL]) | ||
362 | AC_SUBST([POSUB]) | ||
363 | ]) | ||
364 | |||
365 | |||
366 | dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. | ||
367 | m4_define([gt_NEEDS_INIT], | ||
368 | [ | ||
369 | m4_divert_text([DEFAULTS], [gt_needs=]) | ||
370 | m4_define([gt_NEEDS_INIT], []) | ||
371 | ]) | ||
372 | |||
373 | |||
374 | dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) | ||
375 | AC_DEFUN([AM_GNU_GETTEXT_NEED], | ||
376 | [ | ||
377 | m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) | ||
378 | ]) | ||
379 | |||
380 | |||
381 | dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) | ||
382 | AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) | ||
383 | |||
384 | |||
385 | dnl Usage: AM_GNU_GETTEXT_REQUIRE_VERSION([gettext-version]) | ||
386 | AC_DEFUN([AM_GNU_GETTEXT_REQUIRE_VERSION], []) | ||
diff --git a/gl/m4/gnulib-cache.m4 b/gl/m4/gnulib-cache.m4 index 4e5055e4..267f0692 100644 --- a/gl/m4/gnulib-cache.m4 +++ b/gl/m4/gnulib-cache.m4 | |||
@@ -38,7 +38,6 @@ | |||
38 | # --no-libtool \ | 38 | # --no-libtool \ |
39 | # --macro-prefix=gl \ | 39 | # --macro-prefix=gl \ |
40 | # --no-vc-files \ | 40 | # --no-vc-files \ |
41 | # --no-vc-files \ | ||
42 | # base64 \ | 41 | # base64 \ |
43 | # crypto/sha256 \ | 42 | # crypto/sha256 \ |
44 | # dirname \ | 43 | # dirname \ |
@@ -49,7 +48,7 @@ | |||
49 | # gethostname \ | 48 | # gethostname \ |
50 | # getloadavg \ | 49 | # getloadavg \ |
51 | # getopt-gnu \ | 50 | # getopt-gnu \ |
52 | # gettext \ | 51 | # gettext-h \ |
53 | # idpriv-droptemp \ | 52 | # idpriv-droptemp \ |
54 | # mountlist \ | 53 | # mountlist \ |
55 | # regex \ | 54 | # regex \ |
@@ -65,7 +64,6 @@ | |||
65 | # Specification in the form of a few gnulib-tool.m4 macro invocations: | 64 | # Specification in the form of a few gnulib-tool.m4 macro invocations: |
66 | gl_LOCAL_DIR([]) | 65 | gl_LOCAL_DIR([]) |
67 | gl_MODULES([ | 66 | gl_MODULES([ |
68 | --no-vc-files | ||
69 | base64 | 67 | base64 |
70 | crypto/sha256 | 68 | crypto/sha256 |
71 | dirname | 69 | dirname |
@@ -76,7 +74,7 @@ gl_MODULES([ | |||
76 | gethostname | 74 | gethostname |
77 | getloadavg | 75 | getloadavg |
78 | getopt-gnu | 76 | getopt-gnu |
79 | gettext | 77 | gettext-h |
80 | idpriv-droptemp | 78 | idpriv-droptemp |
81 | mountlist | 79 | mountlist |
82 | regex | 80 | regex |
diff --git a/gl/m4/gnulib-comp.m4 b/gl/m4/gnulib-comp.m4 index e6501b95..4764622e 100644 --- a/gl/m4/gnulib-comp.m4 +++ b/gl/m4/gnulib-comp.m4 | |||
@@ -101,11 +101,9 @@ AC_DEFUN([gl_EARLY], | |||
101 | # Code from module getopt-gnu: | 101 | # Code from module getopt-gnu: |
102 | # Code from module getopt-posix: | 102 | # Code from module getopt-posix: |
103 | # Code from module getprogname: | 103 | # Code from module getprogname: |
104 | # Code from module gettext: | ||
105 | # Code from module gettext-h: | 104 | # Code from module gettext-h: |
106 | # Code from module glibc-internal/dynarray: | 105 | # Code from module glibc-internal/dynarray: |
107 | # Code from module hard-locale: | 106 | # Code from module hard-locale: |
108 | # Code from module havelib: | ||
109 | # Code from module hostent: | 107 | # Code from module hostent: |
110 | # Code from module ialloc: | 108 | # Code from module ialloc: |
111 | # Code from module idpriv-droptemp: | 109 | # Code from module idpriv-droptemp: |
@@ -429,15 +427,12 @@ AC_DEFUN([gl_INIT], | |||
429 | ]) | 427 | ]) |
430 | gl_UNISTD_MODULE_INDICATOR([getopt-posix]) | 428 | gl_UNISTD_MODULE_INDICATOR([getopt-posix]) |
431 | gl_FUNC_GETPROGNAME | 429 | gl_FUNC_GETPROGNAME |
432 | dnl you must add AM_GNU_GETTEXT([external]) or similar to configure.ac. | ||
433 | AM_GNU_GETTEXT_VERSION([0.20]) | ||
434 | AC_SUBST([LIBINTL]) | 430 | AC_SUBST([LIBINTL]) |
435 | AC_SUBST([LTLIBINTL]) | 431 | AC_SUBST([LTLIBINTL]) |
436 | AC_PROG_MKDIR_P | 432 | AC_PROG_MKDIR_P |
437 | AC_REQUIRE([gl_FUNC_SETLOCALE_NULL]) | 433 | AC_REQUIRE([gl_FUNC_SETLOCALE_NULL]) |
438 | LIB_HARD_LOCALE="$LIB_SETLOCALE_NULL" | 434 | LIB_HARD_LOCALE="$LIB_SETLOCALE_NULL" |
439 | AC_SUBST([LIB_HARD_LOCALE]) | 435 | AC_SUBST([LIB_HARD_LOCALE]) |
440 | AC_DEFUN([gl_HAVE_MODULE_HAVELIB]) | ||
441 | gl_HOSTENT | 436 | gl_HOSTENT |
442 | gl_IDPRIV | 437 | gl_IDPRIV |
443 | gl_FUNC_INET_NTOP | 438 | gl_FUNC_INET_NTOP |
@@ -977,7 +972,6 @@ AC_DEFUN([gltests_LIBSOURCES], [ | |||
977 | # This macro records the list of files which have been installed by | 972 | # This macro records the list of files which have been installed by |
978 | # gnulib-tool and may be removed by future gnulib-tool invocations. | 973 | # gnulib-tool and may be removed by future gnulib-tool invocations. |
979 | AC_DEFUN([gl_FILE_LIST], [ | 974 | AC_DEFUN([gl_FILE_LIST], [ |
980 | build-aux/config.rpath | ||
981 | lib/_Noreturn.h | 975 | lib/_Noreturn.h |
982 | lib/af_alg.c | 976 | lib/af_alg.c |
983 | lib/af_alg.h | 977 | lib/af_alg.h |
@@ -1254,25 +1248,17 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
1254 | m4/getloadavg.m4 | 1248 | m4/getloadavg.m4 |
1255 | m4/getopt.m4 | 1249 | m4/getopt.m4 |
1256 | m4/getprogname.m4 | 1250 | m4/getprogname.m4 |
1257 | m4/gettext.m4 | ||
1258 | m4/gl-openssl.m4 | 1251 | m4/gl-openssl.m4 |
1259 | m4/gnulib-common.m4 | 1252 | m4/gnulib-common.m4 |
1260 | m4/host-cpu-c-abi.m4 | ||
1261 | m4/hostent.m4 | 1253 | m4/hostent.m4 |
1262 | m4/iconv.m4 | ||
1263 | m4/idpriv.m4 | 1254 | m4/idpriv.m4 |
1264 | m4/include_next.m4 | 1255 | m4/include_next.m4 |
1265 | m4/inet_ntop.m4 | 1256 | m4/inet_ntop.m4 |
1266 | m4/intl-thread-locale.m4 | ||
1267 | m4/intlmacosx.m4 | ||
1268 | m4/intmax_t.m4 | 1257 | m4/intmax_t.m4 |
1269 | m4/inttypes.m4 | 1258 | m4/inttypes.m4 |
1270 | m4/inttypes_h.m4 | 1259 | m4/inttypes_h.m4 |
1271 | m4/langinfo_h.m4 | 1260 | m4/langinfo_h.m4 |
1272 | m4/largefile.m4 | 1261 | m4/largefile.m4 |
1273 | m4/lib-ld.m4 | ||
1274 | m4/lib-link.m4 | ||
1275 | m4/lib-prefix.m4 | ||
1276 | m4/limits-h.m4 | 1262 | m4/limits-h.m4 |
1277 | m4/localcharset.m4 | 1263 | m4/localcharset.m4 |
1278 | m4/locale-fr.m4 | 1264 | m4/locale-fr.m4 |
@@ -1301,7 +1287,6 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
1301 | m4/netdb_h.m4 | 1287 | m4/netdb_h.m4 |
1302 | m4/netinet_in_h.m4 | 1288 | m4/netinet_in_h.m4 |
1303 | m4/nl_langinfo.m4 | 1289 | m4/nl_langinfo.m4 |
1304 | m4/nls.m4 | ||
1305 | m4/nocrash.m4 | 1290 | m4/nocrash.m4 |
1306 | m4/off_t.m4 | 1291 | m4/off_t.m4 |
1307 | m4/open-cloexec.m4 | 1292 | m4/open-cloexec.m4 |
@@ -1309,9 +1294,7 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
1309 | m4/open.m4 | 1294 | m4/open.m4 |
1310 | m4/pathmax.m4 | 1295 | m4/pathmax.m4 |
1311 | m4/pid_t.m4 | 1296 | m4/pid_t.m4 |
1312 | m4/po.m4 | ||
1313 | m4/printf.m4 | 1297 | m4/printf.m4 |
1314 | m4/progtest.m4 | ||
1315 | m4/pthread_rwlock_rdlock.m4 | 1298 | m4/pthread_rwlock_rdlock.m4 |
1316 | m4/realloc.m4 | 1299 | m4/realloc.m4 |
1317 | m4/reallocarray.m4 | 1300 | m4/reallocarray.m4 |
diff --git a/gl/m4/host-cpu-c-abi.m4 b/gl/m4/host-cpu-c-abi.m4 deleted file mode 100644 index 134f2283..00000000 --- a/gl/m4/host-cpu-c-abi.m4 +++ /dev/null | |||
@@ -1,678 +0,0 @@ | |||
1 | # host-cpu-c-abi.m4 serial 15 | ||
2 | dnl Copyright (C) 2002-2023 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | dnl gives unlimited permission to copy and/or distribute it, | ||
5 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | |||
7 | dnl From Bruno Haible and Sam Steingold. | ||
8 | |||
9 | dnl Sets the HOST_CPU variable to the canonical name of the CPU. | ||
10 | dnl Sets the HOST_CPU_C_ABI variable to the canonical name of the CPU with its | ||
11 | dnl C language ABI (application binary interface). | ||
12 | dnl Also defines __${HOST_CPU}__ and __${HOST_CPU_C_ABI}__ as C macros in | ||
13 | dnl config.h. | ||
14 | dnl | ||
15 | dnl This canonical name can be used to select a particular assembly language | ||
16 | dnl source file that will interoperate with C code on the given host. | ||
17 | dnl | ||
18 | dnl For example: | ||
19 | dnl * 'i386' and 'sparc' are different canonical names, because code for i386 | ||
20 | dnl will not run on SPARC CPUs and vice versa. They have different | ||
21 | dnl instruction sets. | ||
22 | dnl * 'sparc' and 'sparc64' are different canonical names, because code for | ||
23 | dnl 'sparc' and code for 'sparc64' cannot be linked together: 'sparc' code | ||
24 | dnl contains 32-bit instructions, whereas 'sparc64' code contains 64-bit | ||
25 | dnl instructions. A process on a SPARC CPU can be in 32-bit mode or in 64-bit | ||
26 | dnl mode, but not both. | ||
27 | dnl * 'mips' and 'mipsn32' are different canonical names, because they use | ||
28 | dnl different argument passing and return conventions for C functions, and | ||
29 | dnl although the instruction set of 'mips' is a large subset of the | ||
30 | dnl instruction set of 'mipsn32'. | ||
31 | dnl * 'mipsn32' and 'mips64' are different canonical names, because they use | ||
32 | dnl different sizes for the C types like 'int' and 'void *', and although | ||
33 | dnl the instruction sets of 'mipsn32' and 'mips64' are the same. | ||
34 | dnl * The same canonical name is used for different endiannesses. You can | ||
35 | dnl determine the endianness through preprocessor symbols: | ||
36 | dnl - 'arm': test __ARMEL__. | ||
37 | dnl - 'mips', 'mipsn32', 'mips64': test _MIPSEB vs. _MIPSEL. | ||
38 | dnl - 'powerpc64': test _BIG_ENDIAN vs. _LITTLE_ENDIAN. | ||
39 | dnl * The same name 'i386' is used for CPUs of type i386, i486, i586 | ||
40 | dnl (Pentium), AMD K7, Pentium II, Pentium IV, etc., because | ||
41 | dnl - Instructions that do not exist on all of these CPUs (cmpxchg, | ||
42 | dnl MMX, SSE, SSE2, 3DNow! etc.) are not frequently used. If your | ||
43 | dnl assembly language source files use such instructions, you will | ||
44 | dnl need to make the distinction. | ||
45 | dnl - Speed of execution of the common instruction set is reasonable across | ||
46 | dnl the entire family of CPUs. If you have assembly language source files | ||
47 | dnl that are optimized for particular CPU types (like GNU gmp has), you | ||
48 | dnl will need to make the distinction. | ||
49 | dnl See <https://en.wikipedia.org/wiki/X86_instruction_listings>. | ||
50 | AC_DEFUN([gl_HOST_CPU_C_ABI], | ||
51 | [ | ||
52 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
53 | AC_REQUIRE([gl_C_ASM]) | ||
54 | AC_CACHE_CHECK([host CPU and C ABI], [gl_cv_host_cpu_c_abi], | ||
55 | [case "$host_cpu" in | ||
56 | |||
57 | changequote(,)dnl | ||
58 | i[34567]86 ) | ||
59 | changequote([,])dnl | ||
60 | gl_cv_host_cpu_c_abi=i386 | ||
61 | ;; | ||
62 | |||
63 | x86_64 ) | ||
64 | # On x86_64 systems, the C compiler may be generating code in one of | ||
65 | # these ABIs: | ||
66 | # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64. | ||
67 | # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64 | ||
68 | # with native Windows (mingw, MSVC). | ||
69 | # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32. | ||
70 | # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386. | ||
71 | AC_COMPILE_IFELSE( | ||
72 | [AC_LANG_SOURCE( | ||
73 | [[#if (defined __x86_64__ || defined __amd64__ \ | ||
74 | || defined _M_X64 || defined _M_AMD64) | ||
75 | int ok; | ||
76 | #else | ||
77 | error fail | ||
78 | #endif | ||
79 | ]])], | ||
80 | [AC_COMPILE_IFELSE( | ||
81 | [AC_LANG_SOURCE( | ||
82 | [[#if defined __ILP32__ || defined _ILP32 | ||
83 | int ok; | ||
84 | #else | ||
85 | error fail | ||
86 | #endif | ||
87 | ]])], | ||
88 | [gl_cv_host_cpu_c_abi=x86_64-x32], | ||
89 | [gl_cv_host_cpu_c_abi=x86_64])], | ||
90 | [gl_cv_host_cpu_c_abi=i386]) | ||
91 | ;; | ||
92 | |||
93 | changequote(,)dnl | ||
94 | alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] ) | ||
95 | changequote([,])dnl | ||
96 | gl_cv_host_cpu_c_abi=alpha | ||
97 | ;; | ||
98 | |||
99 | arm* | aarch64 ) | ||
100 | # Assume arm with EABI. | ||
101 | # On arm64 systems, the C compiler may be generating code in one of | ||
102 | # these ABIs: | ||
103 | # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64. | ||
104 | # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32. | ||
105 | # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf. | ||
106 | AC_COMPILE_IFELSE( | ||
107 | [AC_LANG_SOURCE( | ||
108 | [[#ifdef __aarch64__ | ||
109 | int ok; | ||
110 | #else | ||
111 | error fail | ||
112 | #endif | ||
113 | ]])], | ||
114 | [AC_COMPILE_IFELSE( | ||
115 | [AC_LANG_SOURCE( | ||
116 | [[#if defined __ILP32__ || defined _ILP32 | ||
117 | int ok; | ||
118 | #else | ||
119 | error fail | ||
120 | #endif | ||
121 | ]])], | ||
122 | [gl_cv_host_cpu_c_abi=arm64-ilp32], | ||
123 | [gl_cv_host_cpu_c_abi=arm64])], | ||
124 | [# Don't distinguish little-endian and big-endian arm, since they | ||
125 | # don't require different machine code for simple operations and | ||
126 | # since the user can distinguish them through the preprocessor | ||
127 | # defines __ARMEL__ vs. __ARMEB__. | ||
128 | # But distinguish arm which passes floating-point arguments and | ||
129 | # return values in integer registers (r0, r1, ...) - this is | ||
130 | # gcc -mfloat-abi=soft or gcc -mfloat-abi=softfp - from arm which | ||
131 | # passes them in float registers (s0, s1, ...) and double registers | ||
132 | # (d0, d1, ...) - this is gcc -mfloat-abi=hard. GCC 4.6 or newer | ||
133 | # sets the preprocessor defines __ARM_PCS (for the first case) and | ||
134 | # __ARM_PCS_VFP (for the second case), but older GCC does not. | ||
135 | echo 'double ddd; void func (double dd) { ddd = dd; }' > conftest.c | ||
136 | # Look for a reference to the register d0 in the .s file. | ||
137 | AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS $gl_c_asm_opt conftest.c) >/dev/null 2>&1 | ||
138 | if LC_ALL=C grep 'd0,' conftest.$gl_asmext >/dev/null; then | ||
139 | gl_cv_host_cpu_c_abi=armhf | ||
140 | else | ||
141 | gl_cv_host_cpu_c_abi=arm | ||
142 | fi | ||
143 | rm -f conftest* | ||
144 | ]) | ||
145 | ;; | ||
146 | |||
147 | hppa1.0 | hppa1.1 | hppa2.0* | hppa64 ) | ||
148 | # On hppa, the C compiler may be generating 32-bit code or 64-bit | ||
149 | # code. In the latter case, it defines _LP64 and __LP64__. | ||
150 | AC_COMPILE_IFELSE( | ||
151 | [AC_LANG_SOURCE( | ||
152 | [[#ifdef __LP64__ | ||
153 | int ok; | ||
154 | #else | ||
155 | error fail | ||
156 | #endif | ||
157 | ]])], | ||
158 | [gl_cv_host_cpu_c_abi=hppa64], | ||
159 | [gl_cv_host_cpu_c_abi=hppa]) | ||
160 | ;; | ||
161 | |||
162 | ia64* ) | ||
163 | # On ia64 on HP-UX, the C compiler may be generating 64-bit code or | ||
164 | # 32-bit code. In the latter case, it defines _ILP32. | ||
165 | AC_COMPILE_IFELSE( | ||
166 | [AC_LANG_SOURCE( | ||
167 | [[#ifdef _ILP32 | ||
168 | int ok; | ||
169 | #else | ||
170 | error fail | ||
171 | #endif | ||
172 | ]])], | ||
173 | [gl_cv_host_cpu_c_abi=ia64-ilp32], | ||
174 | [gl_cv_host_cpu_c_abi=ia64]) | ||
175 | ;; | ||
176 | |||
177 | mips* ) | ||
178 | # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this | ||
179 | # at 32. | ||
180 | AC_COMPILE_IFELSE( | ||
181 | [AC_LANG_SOURCE( | ||
182 | [[#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64) | ||
183 | int ok; | ||
184 | #else | ||
185 | error fail | ||
186 | #endif | ||
187 | ]])], | ||
188 | [gl_cv_host_cpu_c_abi=mips64], | ||
189 | [# In the n32 ABI, _ABIN32 is defined, _ABIO32 is not defined (but | ||
190 | # may later get defined by <sgidefs.h>), and _MIPS_SIM == _ABIN32. | ||
191 | # In the 32 ABI, _ABIO32 is defined, _ABIN32 is not defined (but | ||
192 | # may later get defined by <sgidefs.h>), and _MIPS_SIM == _ABIO32. | ||
193 | AC_COMPILE_IFELSE( | ||
194 | [AC_LANG_SOURCE( | ||
195 | [[#if (_MIPS_SIM == _ABIN32) | ||
196 | int ok; | ||
197 | #else | ||
198 | error fail | ||
199 | #endif | ||
200 | ]])], | ||
201 | [gl_cv_host_cpu_c_abi=mipsn32], | ||
202 | [gl_cv_host_cpu_c_abi=mips])]) | ||
203 | ;; | ||
204 | |||
205 | powerpc* ) | ||
206 | # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD. | ||
207 | # No need to distinguish them here; the caller may distinguish | ||
208 | # them based on the OS. | ||
209 | # On powerpc64 systems, the C compiler may still be generating | ||
210 | # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may | ||
211 | # be generating 64-bit code. | ||
212 | AC_COMPILE_IFELSE( | ||
213 | [AC_LANG_SOURCE( | ||
214 | [[#if defined __powerpc64__ || defined __LP64__ | ||
215 | int ok; | ||
216 | #else | ||
217 | error fail | ||
218 | #endif | ||
219 | ]])], | ||
220 | [# On powerpc64, there are two ABIs on Linux: The AIX compatible | ||
221 | # one and the ELFv2 one. The latter defines _CALL_ELF=2. | ||
222 | AC_COMPILE_IFELSE( | ||
223 | [AC_LANG_SOURCE( | ||
224 | [[#if defined _CALL_ELF && _CALL_ELF == 2 | ||
225 | int ok; | ||
226 | #else | ||
227 | error fail | ||
228 | #endif | ||
229 | ]])], | ||
230 | [gl_cv_host_cpu_c_abi=powerpc64-elfv2], | ||
231 | [gl_cv_host_cpu_c_abi=powerpc64]) | ||
232 | ], | ||
233 | [gl_cv_host_cpu_c_abi=powerpc]) | ||
234 | ;; | ||
235 | |||
236 | rs6000 ) | ||
237 | gl_cv_host_cpu_c_abi=powerpc | ||
238 | ;; | ||
239 | |||
240 | riscv32 | riscv64 ) | ||
241 | # There are 2 architectures (with variants): rv32* and rv64*. | ||
242 | AC_COMPILE_IFELSE( | ||
243 | [AC_LANG_SOURCE( | ||
244 | [[#if __riscv_xlen == 64 | ||
245 | int ok; | ||
246 | #else | ||
247 | error fail | ||
248 | #endif | ||
249 | ]])], | ||
250 | [cpu=riscv64], | ||
251 | [cpu=riscv32]) | ||
252 | # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d. | ||
253 | # Size of 'long' and 'void *': | ||
254 | AC_COMPILE_IFELSE( | ||
255 | [AC_LANG_SOURCE( | ||
256 | [[#if defined __LP64__ | ||
257 | int ok; | ||
258 | #else | ||
259 | error fail | ||
260 | #endif | ||
261 | ]])], | ||
262 | [main_abi=lp64], | ||
263 | [main_abi=ilp32]) | ||
264 | # Float ABIs: | ||
265 | # __riscv_float_abi_double: | ||
266 | # 'float' and 'double' are passed in floating-point registers. | ||
267 | # __riscv_float_abi_single: | ||
268 | # 'float' are passed in floating-point registers. | ||
269 | # __riscv_float_abi_soft: | ||
270 | # No values are passed in floating-point registers. | ||
271 | AC_COMPILE_IFELSE( | ||
272 | [AC_LANG_SOURCE( | ||
273 | [[#if defined __riscv_float_abi_double | ||
274 | int ok; | ||
275 | #else | ||
276 | error fail | ||
277 | #endif | ||
278 | ]])], | ||
279 | [float_abi=d], | ||
280 | [AC_COMPILE_IFELSE( | ||
281 | [AC_LANG_SOURCE( | ||
282 | [[#if defined __riscv_float_abi_single | ||
283 | int ok; | ||
284 | #else | ||
285 | error fail | ||
286 | #endif | ||
287 | ]])], | ||
288 | [float_abi=f], | ||
289 | [float_abi='']) | ||
290 | ]) | ||
291 | gl_cv_host_cpu_c_abi="${cpu}-${main_abi}${float_abi}" | ||
292 | ;; | ||
293 | |||
294 | s390* ) | ||
295 | # On s390x, the C compiler may be generating 64-bit (= s390x) code | ||
296 | # or 31-bit (= s390) code. | ||
297 | AC_COMPILE_IFELSE( | ||
298 | [AC_LANG_SOURCE( | ||
299 | [[#if defined __LP64__ || defined __s390x__ | ||
300 | int ok; | ||
301 | #else | ||
302 | error fail | ||
303 | #endif | ||
304 | ]])], | ||
305 | [gl_cv_host_cpu_c_abi=s390x], | ||
306 | [gl_cv_host_cpu_c_abi=s390]) | ||
307 | ;; | ||
308 | |||
309 | sparc | sparc64 ) | ||
310 | # UltraSPARCs running Linux have `uname -m` = "sparc64", but the | ||
311 | # C compiler still generates 32-bit code. | ||
312 | AC_COMPILE_IFELSE( | ||
313 | [AC_LANG_SOURCE( | ||
314 | [[#if defined __sparcv9 || defined __arch64__ | ||
315 | int ok; | ||
316 | #else | ||
317 | error fail | ||
318 | #endif | ||
319 | ]])], | ||
320 | [gl_cv_host_cpu_c_abi=sparc64], | ||
321 | [gl_cv_host_cpu_c_abi=sparc]) | ||
322 | ;; | ||
323 | |||
324 | *) | ||
325 | gl_cv_host_cpu_c_abi="$host_cpu" | ||
326 | ;; | ||
327 | esac | ||
328 | ]) | ||
329 | |||
330 | dnl In most cases, $HOST_CPU and $HOST_CPU_C_ABI are the same. | ||
331 | HOST_CPU=`echo "$gl_cv_host_cpu_c_abi" | sed -e 's/-.*//'` | ||
332 | HOST_CPU_C_ABI="$gl_cv_host_cpu_c_abi" | ||
333 | AC_SUBST([HOST_CPU]) | ||
334 | AC_SUBST([HOST_CPU_C_ABI]) | ||
335 | |||
336 | # This was | ||
337 | # AC_DEFINE_UNQUOTED([__${HOST_CPU}__]) | ||
338 | # AC_DEFINE_UNQUOTED([__${HOST_CPU_C_ABI}__]) | ||
339 | # earlier, but KAI C++ 3.2d doesn't like this. | ||
340 | sed -e 's/-/_/g' >> confdefs.h <<EOF | ||
341 | #ifndef __${HOST_CPU}__ | ||
342 | #define __${HOST_CPU}__ 1 | ||
343 | #endif | ||
344 | #ifndef __${HOST_CPU_C_ABI}__ | ||
345 | #define __${HOST_CPU_C_ABI}__ 1 | ||
346 | #endif | ||
347 | EOF | ||
348 | AH_TOP([/* CPU and C ABI indicator */ | ||
349 | #ifndef __i386__ | ||
350 | #undef __i386__ | ||
351 | #endif | ||
352 | #ifndef __x86_64_x32__ | ||
353 | #undef __x86_64_x32__ | ||
354 | #endif | ||
355 | #ifndef __x86_64__ | ||
356 | #undef __x86_64__ | ||
357 | #endif | ||
358 | #ifndef __alpha__ | ||
359 | #undef __alpha__ | ||
360 | #endif | ||
361 | #ifndef __arm__ | ||
362 | #undef __arm__ | ||
363 | #endif | ||
364 | #ifndef __armhf__ | ||
365 | #undef __armhf__ | ||
366 | #endif | ||
367 | #ifndef __arm64_ilp32__ | ||
368 | #undef __arm64_ilp32__ | ||
369 | #endif | ||
370 | #ifndef __arm64__ | ||
371 | #undef __arm64__ | ||
372 | #endif | ||
373 | #ifndef __hppa__ | ||
374 | #undef __hppa__ | ||
375 | #endif | ||
376 | #ifndef __hppa64__ | ||
377 | #undef __hppa64__ | ||
378 | #endif | ||
379 | #ifndef __ia64_ilp32__ | ||
380 | #undef __ia64_ilp32__ | ||
381 | #endif | ||
382 | #ifndef __ia64__ | ||
383 | #undef __ia64__ | ||
384 | #endif | ||
385 | #ifndef __loongarch64__ | ||
386 | #undef __loongarch64__ | ||
387 | #endif | ||
388 | #ifndef __m68k__ | ||
389 | #undef __m68k__ | ||
390 | #endif | ||
391 | #ifndef __mips__ | ||
392 | #undef __mips__ | ||
393 | #endif | ||
394 | #ifndef __mipsn32__ | ||
395 | #undef __mipsn32__ | ||
396 | #endif | ||
397 | #ifndef __mips64__ | ||
398 | #undef __mips64__ | ||
399 | #endif | ||
400 | #ifndef __powerpc__ | ||
401 | #undef __powerpc__ | ||
402 | #endif | ||
403 | #ifndef __powerpc64__ | ||
404 | #undef __powerpc64__ | ||
405 | #endif | ||
406 | #ifndef __powerpc64_elfv2__ | ||
407 | #undef __powerpc64_elfv2__ | ||
408 | #endif | ||
409 | #ifndef __riscv32__ | ||
410 | #undef __riscv32__ | ||
411 | #endif | ||
412 | #ifndef __riscv64__ | ||
413 | #undef __riscv64__ | ||
414 | #endif | ||
415 | #ifndef __riscv32_ilp32__ | ||
416 | #undef __riscv32_ilp32__ | ||
417 | #endif | ||
418 | #ifndef __riscv32_ilp32f__ | ||
419 | #undef __riscv32_ilp32f__ | ||
420 | #endif | ||
421 | #ifndef __riscv32_ilp32d__ | ||
422 | #undef __riscv32_ilp32d__ | ||
423 | #endif | ||
424 | #ifndef __riscv64_ilp32__ | ||
425 | #undef __riscv64_ilp32__ | ||
426 | #endif | ||
427 | #ifndef __riscv64_ilp32f__ | ||
428 | #undef __riscv64_ilp32f__ | ||
429 | #endif | ||
430 | #ifndef __riscv64_ilp32d__ | ||
431 | #undef __riscv64_ilp32d__ | ||
432 | #endif | ||
433 | #ifndef __riscv64_lp64__ | ||
434 | #undef __riscv64_lp64__ | ||
435 | #endif | ||
436 | #ifndef __riscv64_lp64f__ | ||
437 | #undef __riscv64_lp64f__ | ||
438 | #endif | ||
439 | #ifndef __riscv64_lp64d__ | ||
440 | #undef __riscv64_lp64d__ | ||
441 | #endif | ||
442 | #ifndef __s390__ | ||
443 | #undef __s390__ | ||
444 | #endif | ||
445 | #ifndef __s390x__ | ||
446 | #undef __s390x__ | ||
447 | #endif | ||
448 | #ifndef __sh__ | ||
449 | #undef __sh__ | ||
450 | #endif | ||
451 | #ifndef __sparc__ | ||
452 | #undef __sparc__ | ||
453 | #endif | ||
454 | #ifndef __sparc64__ | ||
455 | #undef __sparc64__ | ||
456 | #endif | ||
457 | ]) | ||
458 | |||
459 | ]) | ||
460 | |||
461 | |||
462 | dnl Sets the HOST_CPU_C_ABI_32BIT variable to 'yes' if the C language ABI | ||
463 | dnl (application binary interface) is a 32-bit one, to 'no' if it is a 64-bit | ||
464 | dnl one, or to 'unknown' if unknown. | ||
465 | dnl This is a simplified variant of gl_HOST_CPU_C_ABI. | ||
466 | AC_DEFUN([gl_HOST_CPU_C_ABI_32BIT], | ||
467 | [ | ||
468 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
469 | AC_CACHE_CHECK([32-bit host C ABI], [gl_cv_host_cpu_c_abi_32bit], | ||
470 | [if test -n "$gl_cv_host_cpu_c_abi"; then | ||
471 | case "$gl_cv_host_cpu_c_abi" in | ||
472 | i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc) | ||
473 | gl_cv_host_cpu_c_abi_32bit=yes ;; | ||
474 | x86_64 | alpha | arm64 | hppa64 | ia64 | mips64 | powerpc64 | powerpc64-elfv2 | riscv*-lp64* | s390x | sparc64 ) | ||
475 | gl_cv_host_cpu_c_abi_32bit=no ;; | ||
476 | *) | ||
477 | gl_cv_host_cpu_c_abi_32bit=unknown ;; | ||
478 | esac | ||
479 | else | ||
480 | case "$host_cpu" in | ||
481 | |||
482 | # CPUs that only support a 32-bit ABI. | ||
483 | arc \ | ||
484 | | bfin \ | ||
485 | | cris* \ | ||
486 | | csky \ | ||
487 | | epiphany \ | ||
488 | | ft32 \ | ||
489 | | h8300 \ | ||
490 | | m68k \ | ||
491 | | microblaze | microblazeel \ | ||
492 | | nds32 | nds32le | nds32be \ | ||
493 | | nios2 | nios2eb | nios2el \ | ||
494 | | or1k* \ | ||
495 | | or32 \ | ||
496 | | sh | sh[1234] | sh[1234]e[lb] \ | ||
497 | | tic6x \ | ||
498 | | xtensa* ) | ||
499 | gl_cv_host_cpu_c_abi_32bit=yes | ||
500 | ;; | ||
501 | |||
502 | # CPUs that only support a 64-bit ABI. | ||
503 | changequote(,)dnl | ||
504 | alpha | alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] \ | ||
505 | | mmix ) | ||
506 | changequote([,])dnl | ||
507 | gl_cv_host_cpu_c_abi_32bit=no | ||
508 | ;; | ||
509 | |||
510 | changequote(,)dnl | ||
511 | i[34567]86 ) | ||
512 | changequote([,])dnl | ||
513 | gl_cv_host_cpu_c_abi_32bit=yes | ||
514 | ;; | ||
515 | |||
516 | x86_64 ) | ||
517 | # On x86_64 systems, the C compiler may be generating code in one of | ||
518 | # these ABIs: | ||
519 | # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64. | ||
520 | # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64 | ||
521 | # with native Windows (mingw, MSVC). | ||
522 | # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32. | ||
523 | # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386. | ||
524 | AC_COMPILE_IFELSE( | ||
525 | [AC_LANG_SOURCE( | ||
526 | [[#if (defined __x86_64__ || defined __amd64__ \ | ||
527 | || defined _M_X64 || defined _M_AMD64) \ | ||
528 | && !(defined __ILP32__ || defined _ILP32) | ||
529 | int ok; | ||
530 | #else | ||
531 | error fail | ||
532 | #endif | ||
533 | ]])], | ||
534 | [gl_cv_host_cpu_c_abi_32bit=no], | ||
535 | [gl_cv_host_cpu_c_abi_32bit=yes]) | ||
536 | ;; | ||
537 | |||
538 | arm* | aarch64 ) | ||
539 | # Assume arm with EABI. | ||
540 | # On arm64 systems, the C compiler may be generating code in one of | ||
541 | # these ABIs: | ||
542 | # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64. | ||
543 | # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32. | ||
544 | # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf. | ||
545 | AC_COMPILE_IFELSE( | ||
546 | [AC_LANG_SOURCE( | ||
547 | [[#if defined __aarch64__ && !(defined __ILP32__ || defined _ILP32) | ||
548 | int ok; | ||
549 | #else | ||
550 | error fail | ||
551 | #endif | ||
552 | ]])], | ||
553 | [gl_cv_host_cpu_c_abi_32bit=no], | ||
554 | [gl_cv_host_cpu_c_abi_32bit=yes]) | ||
555 | ;; | ||
556 | |||
557 | hppa1.0 | hppa1.1 | hppa2.0* | hppa64 ) | ||
558 | # On hppa, the C compiler may be generating 32-bit code or 64-bit | ||
559 | # code. In the latter case, it defines _LP64 and __LP64__. | ||
560 | AC_COMPILE_IFELSE( | ||
561 | [AC_LANG_SOURCE( | ||
562 | [[#ifdef __LP64__ | ||
563 | int ok; | ||
564 | #else | ||
565 | error fail | ||
566 | #endif | ||
567 | ]])], | ||
568 | [gl_cv_host_cpu_c_abi_32bit=no], | ||
569 | [gl_cv_host_cpu_c_abi_32bit=yes]) | ||
570 | ;; | ||
571 | |||
572 | ia64* ) | ||
573 | # On ia64 on HP-UX, the C compiler may be generating 64-bit code or | ||
574 | # 32-bit code. In the latter case, it defines _ILP32. | ||
575 | AC_COMPILE_IFELSE( | ||
576 | [AC_LANG_SOURCE( | ||
577 | [[#ifdef _ILP32 | ||
578 | int ok; | ||
579 | #else | ||
580 | error fail | ||
581 | #endif | ||
582 | ]])], | ||
583 | [gl_cv_host_cpu_c_abi_32bit=yes], | ||
584 | [gl_cv_host_cpu_c_abi_32bit=no]) | ||
585 | ;; | ||
586 | |||
587 | mips* ) | ||
588 | # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this | ||
589 | # at 32. | ||
590 | AC_COMPILE_IFELSE( | ||
591 | [AC_LANG_SOURCE( | ||
592 | [[#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64) | ||
593 | int ok; | ||
594 | #else | ||
595 | error fail | ||
596 | #endif | ||
597 | ]])], | ||
598 | [gl_cv_host_cpu_c_abi_32bit=no], | ||
599 | [gl_cv_host_cpu_c_abi_32bit=yes]) | ||
600 | ;; | ||
601 | |||
602 | powerpc* ) | ||
603 | # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD. | ||
604 | # No need to distinguish them here; the caller may distinguish | ||
605 | # them based on the OS. | ||
606 | # On powerpc64 systems, the C compiler may still be generating | ||
607 | # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may | ||
608 | # be generating 64-bit code. | ||
609 | AC_COMPILE_IFELSE( | ||
610 | [AC_LANG_SOURCE( | ||
611 | [[#if defined __powerpc64__ || defined __LP64__ | ||
612 | int ok; | ||
613 | #else | ||
614 | error fail | ||
615 | #endif | ||
616 | ]])], | ||
617 | [gl_cv_host_cpu_c_abi_32bit=no], | ||
618 | [gl_cv_host_cpu_c_abi_32bit=yes]) | ||
619 | ;; | ||
620 | |||
621 | rs6000 ) | ||
622 | gl_cv_host_cpu_c_abi_32bit=yes | ||
623 | ;; | ||
624 | |||
625 | riscv32 | riscv64 ) | ||
626 | # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d. | ||
627 | # Size of 'long' and 'void *': | ||
628 | AC_COMPILE_IFELSE( | ||
629 | [AC_LANG_SOURCE( | ||
630 | [[#if defined __LP64__ | ||
631 | int ok; | ||
632 | #else | ||
633 | error fail | ||
634 | #endif | ||
635 | ]])], | ||
636 | [gl_cv_host_cpu_c_abi_32bit=no], | ||
637 | [gl_cv_host_cpu_c_abi_32bit=yes]) | ||
638 | ;; | ||
639 | |||
640 | s390* ) | ||
641 | # On s390x, the C compiler may be generating 64-bit (= s390x) code | ||
642 | # or 31-bit (= s390) code. | ||
643 | AC_COMPILE_IFELSE( | ||
644 | [AC_LANG_SOURCE( | ||
645 | [[#if defined __LP64__ || defined __s390x__ | ||
646 | int ok; | ||
647 | #else | ||
648 | error fail | ||
649 | #endif | ||
650 | ]])], | ||
651 | [gl_cv_host_cpu_c_abi_32bit=no], | ||
652 | [gl_cv_host_cpu_c_abi_32bit=yes]) | ||
653 | ;; | ||
654 | |||
655 | sparc | sparc64 ) | ||
656 | # UltraSPARCs running Linux have `uname -m` = "sparc64", but the | ||
657 | # C compiler still generates 32-bit code. | ||
658 | AC_COMPILE_IFELSE( | ||
659 | [AC_LANG_SOURCE( | ||
660 | [[#if defined __sparcv9 || defined __arch64__ | ||
661 | int ok; | ||
662 | #else | ||
663 | error fail | ||
664 | #endif | ||
665 | ]])], | ||
666 | [gl_cv_host_cpu_c_abi_32bit=no], | ||
667 | [gl_cv_host_cpu_c_abi_32bit=yes]) | ||
668 | ;; | ||
669 | |||
670 | *) | ||
671 | gl_cv_host_cpu_c_abi_32bit=unknown | ||
672 | ;; | ||
673 | esac | ||
674 | fi | ||
675 | ]) | ||
676 | |||
677 | HOST_CPU_C_ABI_32BIT="$gl_cv_host_cpu_c_abi_32bit" | ||
678 | ]) | ||
diff --git a/gl/m4/iconv.m4 b/gl/m4/iconv.m4 deleted file mode 100644 index ff5d5261..00000000 --- a/gl/m4/iconv.m4 +++ /dev/null | |||
@@ -1,293 +0,0 @@ | |||
1 | # iconv.m4 serial 26 | ||
2 | dnl Copyright (C) 2000-2002, 2007-2014, 2016-2023 Free Software Foundation, | ||
3 | dnl 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 | |||
10 | AC_PREREQ([2.64]) | ||
11 | |||
12 | dnl Note: AM_ICONV is documented in the GNU gettext manual | ||
13 | dnl <https://www.gnu.org/software/gettext/manual/html_node/AM_005fICONV.html>. | ||
14 | dnl Don't make changes that are incompatible with that documentation! | ||
15 | |||
16 | AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], | ||
17 | [ | ||
18 | dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. | ||
19 | AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) | ||
20 | AC_REQUIRE([AC_LIB_RPATH]) | ||
21 | |||
22 | dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV | ||
23 | dnl accordingly. | ||
24 | AC_LIB_LINKFLAGS_BODY([iconv]) | ||
25 | ]) | ||
26 | |||
27 | AC_DEFUN([AM_ICONV_LINK], | ||
28 | [ | ||
29 | dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and | ||
30 | dnl those with the standalone portable GNU libiconv installed). | ||
31 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
32 | |||
33 | dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV | ||
34 | dnl accordingly. | ||
35 | AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) | ||
36 | |||
37 | dnl Add $INCICONV to CPPFLAGS before performing the following checks, | ||
38 | dnl because if the user has installed libiconv and not disabled its use | ||
39 | dnl via --without-libiconv-prefix, he wants to use it. The first | ||
40 | dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed. | ||
41 | am_save_CPPFLAGS="$CPPFLAGS" | ||
42 | AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) | ||
43 | |||
44 | AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ | ||
45 | am_cv_func_iconv="no, consider installing GNU libiconv" | ||
46 | am_cv_lib_iconv=no | ||
47 | AC_LINK_IFELSE( | ||
48 | [AC_LANG_PROGRAM( | ||
49 | [[ | ||
50 | #include <stdlib.h> | ||
51 | #include <iconv.h> | ||
52 | ]], | ||
53 | [[iconv_t cd = iconv_open("",""); | ||
54 | iconv(cd,NULL,NULL,NULL,NULL); | ||
55 | iconv_close(cd);]])], | ||
56 | [am_cv_func_iconv=yes]) | ||
57 | if test "$am_cv_func_iconv" != yes; then | ||
58 | am_save_LIBS="$LIBS" | ||
59 | LIBS="$LIBS $LIBICONV" | ||
60 | AC_LINK_IFELSE( | ||
61 | [AC_LANG_PROGRAM( | ||
62 | [[ | ||
63 | #include <stdlib.h> | ||
64 | #include <iconv.h> | ||
65 | ]], | ||
66 | [[iconv_t cd = iconv_open("",""); | ||
67 | iconv(cd,NULL,NULL,NULL,NULL); | ||
68 | iconv_close(cd);]])], | ||
69 | [am_cv_lib_iconv=yes] | ||
70 | [am_cv_func_iconv=yes]) | ||
71 | LIBS="$am_save_LIBS" | ||
72 | fi | ||
73 | ]) | ||
74 | if test "$am_cv_func_iconv" = yes; then | ||
75 | AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ | ||
76 | dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11, | ||
77 | dnl Solaris 10. | ||
78 | am_save_LIBS="$LIBS" | ||
79 | if test $am_cv_lib_iconv = yes; then | ||
80 | LIBS="$LIBS $LIBICONV" | ||
81 | fi | ||
82 | am_cv_func_iconv_works=no | ||
83 | for ac_iconv_const in '' 'const'; do | ||
84 | AC_RUN_IFELSE( | ||
85 | [AC_LANG_PROGRAM( | ||
86 | [[ | ||
87 | #include <iconv.h> | ||
88 | #include <string.h> | ||
89 | |||
90 | #ifndef ICONV_CONST | ||
91 | # define ICONV_CONST $ac_iconv_const | ||
92 | #endif | ||
93 | ]], | ||
94 | [[int result = 0; | ||
95 | /* Test against AIX 5.1...7.2 bug: Failures are not distinguishable from | ||
96 | successful returns. This is even documented in | ||
97 | <https://www.ibm.com/support/knowledgecenter/ssw_aix_72/i_bostechref/iconv.html> */ | ||
98 | { | ||
99 | iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); | ||
100 | if (cd_utf8_to_88591 != (iconv_t)(-1)) | ||
101 | { | ||
102 | static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ | ||
103 | char buf[10]; | ||
104 | ICONV_CONST char *inptr = input; | ||
105 | size_t inbytesleft = strlen (input); | ||
106 | char *outptr = buf; | ||
107 | size_t outbytesleft = sizeof (buf); | ||
108 | size_t res = iconv (cd_utf8_to_88591, | ||
109 | &inptr, &inbytesleft, | ||
110 | &outptr, &outbytesleft); | ||
111 | if (res == 0) | ||
112 | result |= 1; | ||
113 | iconv_close (cd_utf8_to_88591); | ||
114 | } | ||
115 | } | ||
116 | /* Test against Solaris 10 bug: Failures are not distinguishable from | ||
117 | successful returns. */ | ||
118 | { | ||
119 | iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); | ||
120 | if (cd_ascii_to_88591 != (iconv_t)(-1)) | ||
121 | { | ||
122 | static ICONV_CONST char input[] = "\263"; | ||
123 | char buf[10]; | ||
124 | ICONV_CONST char *inptr = input; | ||
125 | size_t inbytesleft = strlen (input); | ||
126 | char *outptr = buf; | ||
127 | size_t outbytesleft = sizeof (buf); | ||
128 | size_t res = iconv (cd_ascii_to_88591, | ||
129 | &inptr, &inbytesleft, | ||
130 | &outptr, &outbytesleft); | ||
131 | if (res == 0) | ||
132 | result |= 2; | ||
133 | iconv_close (cd_ascii_to_88591); | ||
134 | } | ||
135 | } | ||
136 | /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ | ||
137 | { | ||
138 | iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); | ||
139 | if (cd_88591_to_utf8 != (iconv_t)(-1)) | ||
140 | { | ||
141 | static ICONV_CONST char input[] = "\304"; | ||
142 | static char buf[2] = { (char)0xDE, (char)0xAD }; | ||
143 | ICONV_CONST char *inptr = input; | ||
144 | size_t inbytesleft = 1; | ||
145 | char *outptr = buf; | ||
146 | size_t outbytesleft = 1; | ||
147 | size_t res = iconv (cd_88591_to_utf8, | ||
148 | &inptr, &inbytesleft, | ||
149 | &outptr, &outbytesleft); | ||
150 | if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) | ||
151 | result |= 4; | ||
152 | iconv_close (cd_88591_to_utf8); | ||
153 | } | ||
154 | } | ||
155 | #if 0 /* This bug could be worked around by the caller. */ | ||
156 | /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ | ||
157 | { | ||
158 | iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); | ||
159 | if (cd_88591_to_utf8 != (iconv_t)(-1)) | ||
160 | { | ||
161 | static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; | ||
162 | char buf[50]; | ||
163 | ICONV_CONST char *inptr = input; | ||
164 | size_t inbytesleft = strlen (input); | ||
165 | char *outptr = buf; | ||
166 | size_t outbytesleft = sizeof (buf); | ||
167 | size_t res = iconv (cd_88591_to_utf8, | ||
168 | &inptr, &inbytesleft, | ||
169 | &outptr, &outbytesleft); | ||
170 | if ((int)res > 0) | ||
171 | result |= 8; | ||
172 | iconv_close (cd_88591_to_utf8); | ||
173 | } | ||
174 | } | ||
175 | #endif | ||
176 | /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is | ||
177 | provided. */ | ||
178 | { | ||
179 | /* Try standardized names. */ | ||
180 | iconv_t cd1 = iconv_open ("UTF-8", "EUC-JP"); | ||
181 | /* Try IRIX, OSF/1 names. */ | ||
182 | iconv_t cd2 = iconv_open ("UTF-8", "eucJP"); | ||
183 | /* Try AIX names. */ | ||
184 | iconv_t cd3 = iconv_open ("UTF-8", "IBM-eucJP"); | ||
185 | /* Try HP-UX names. */ | ||
186 | iconv_t cd4 = iconv_open ("utf8", "eucJP"); | ||
187 | if (cd1 == (iconv_t)(-1) && cd2 == (iconv_t)(-1) | ||
188 | && cd3 == (iconv_t)(-1) && cd4 == (iconv_t)(-1)) | ||
189 | result |= 16; | ||
190 | if (cd1 != (iconv_t)(-1)) | ||
191 | iconv_close (cd1); | ||
192 | if (cd2 != (iconv_t)(-1)) | ||
193 | iconv_close (cd2); | ||
194 | if (cd3 != (iconv_t)(-1)) | ||
195 | iconv_close (cd3); | ||
196 | if (cd4 != (iconv_t)(-1)) | ||
197 | iconv_close (cd4); | ||
198 | } | ||
199 | return result; | ||
200 | ]])], | ||
201 | [am_cv_func_iconv_works=yes], , | ||
202 | [case "$host_os" in | ||
203 | aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; | ||
204 | *) am_cv_func_iconv_works="guessing yes" ;; | ||
205 | esac]) | ||
206 | test "$am_cv_func_iconv_works" = no || break | ||
207 | done | ||
208 | LIBS="$am_save_LIBS" | ||
209 | ]) | ||
210 | case "$am_cv_func_iconv_works" in | ||
211 | *no) am_func_iconv=no am_cv_lib_iconv=no ;; | ||
212 | *) am_func_iconv=yes ;; | ||
213 | esac | ||
214 | else | ||
215 | am_func_iconv=no am_cv_lib_iconv=no | ||
216 | fi | ||
217 | if test "$am_func_iconv" = yes; then | ||
218 | AC_DEFINE([HAVE_ICONV], [1], | ||
219 | [Define if you have the iconv() function and it works.]) | ||
220 | fi | ||
221 | if test "$am_cv_lib_iconv" = yes; then | ||
222 | AC_MSG_CHECKING([how to link with libiconv]) | ||
223 | AC_MSG_RESULT([$LIBICONV]) | ||
224 | else | ||
225 | dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV | ||
226 | dnl either. | ||
227 | CPPFLAGS="$am_save_CPPFLAGS" | ||
228 | LIBICONV= | ||
229 | LTLIBICONV= | ||
230 | fi | ||
231 | AC_SUBST([LIBICONV]) | ||
232 | AC_SUBST([LTLIBICONV]) | ||
233 | ]) | ||
234 | |||
235 | dnl Define AM_ICONV using AC_DEFUN_ONCE, in order to avoid warnings like | ||
236 | dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required". | ||
237 | AC_DEFUN_ONCE([AM_ICONV], | ||
238 | [ | ||
239 | AM_ICONV_LINK | ||
240 | if test "$am_cv_func_iconv" = yes; then | ||
241 | AC_CACHE_CHECK([whether iconv is compatible with its POSIX signature], | ||
242 | [gl_cv_iconv_nonconst], | ||
243 | [AC_COMPILE_IFELSE( | ||
244 | [AC_LANG_PROGRAM( | ||
245 | [[ | ||
246 | #include <stdlib.h> | ||
247 | #include <iconv.h> | ||
248 | extern | ||
249 | #ifdef __cplusplus | ||
250 | "C" | ||
251 | #endif | ||
252 | size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); | ||
253 | ]], | ||
254 | [[]])], | ||
255 | [gl_cv_iconv_nonconst=yes], | ||
256 | [gl_cv_iconv_nonconst=no]) | ||
257 | ]) | ||
258 | else | ||
259 | dnl When compiling GNU libiconv on a system that does not have iconv yet, | ||
260 | dnl pick the POSIX compliant declaration without 'const'. | ||
261 | gl_cv_iconv_nonconst=yes | ||
262 | fi | ||
263 | if test $gl_cv_iconv_nonconst = yes; then | ||
264 | iconv_arg1="" | ||
265 | else | ||
266 | iconv_arg1="const" | ||
267 | fi | ||
268 | AC_DEFINE_UNQUOTED([ICONV_CONST], [$iconv_arg1], | ||
269 | [Define as const if the declaration of iconv() needs const.]) | ||
270 | dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>. | ||
271 | m4_ifdef([gl_ICONV_H_DEFAULTS], | ||
272 | [AC_REQUIRE([gl_ICONV_H_DEFAULTS]) | ||
273 | if test $gl_cv_iconv_nonconst != yes; then | ||
274 | ICONV_CONST="const" | ||
275 | fi | ||
276 | ]) | ||
277 | |||
278 | dnl A summary result, for those packages which want to print a summary at the | ||
279 | dnl end of the configuration. | ||
280 | if test "$am_func_iconv" = yes; then | ||
281 | if test -n "$LIBICONV"; then | ||
282 | am_cv_func_iconv_summary='yes, in libiconv' | ||
283 | else | ||
284 | am_cv_func_iconv_summary='yes, in libc' | ||
285 | fi | ||
286 | else | ||
287 | if test "$am_cv_func_iconv" = yes; then | ||
288 | am_cv_func_iconv_summary='not working, consider installing GNU libiconv' | ||
289 | else | ||
290 | am_cv_func_iconv_summary='no, consider installing GNU libiconv' | ||
291 | fi | ||
292 | fi | ||
293 | ]) | ||
diff --git a/gl/m4/intl-thread-locale.m4 b/gl/m4/intl-thread-locale.m4 deleted file mode 100644 index c2318995..00000000 --- a/gl/m4/intl-thread-locale.m4 +++ /dev/null | |||
@@ -1,219 +0,0 @@ | |||
1 | # intl-thread-locale.m4 serial 9 | ||
2 | dnl Copyright (C) 2015-2023 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | 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 | ||
7 | dnl This file can be used in projects which are not available under | ||
8 | dnl the GNU General Public License or the GNU Lesser General Public | ||
9 | dnl License but which still want to provide support for the GNU gettext | ||
10 | dnl functionality. | ||
11 | dnl Please note that the actual code of the GNU gettext library is covered | ||
12 | dnl by the GNU Lesser General Public License, and the rest of the GNU | ||
13 | dnl gettext package is covered by the GNU General Public License. | ||
14 | dnl They are *not* in the public domain. | ||
15 | |||
16 | dnl Check how to retrieve the name of a per-thread locale (POSIX locale_t). | ||
17 | dnl Sets gt_nameless_locales. | ||
18 | AC_DEFUN([gt_INTL_THREAD_LOCALE_NAME], | ||
19 | [ | ||
20 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
21 | |||
22 | dnl Persuade Solaris <locale.h> to define 'locale_t'. | ||
23 | AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) | ||
24 | |||
25 | dnl Test whether uselocale() exists and works at all. | ||
26 | gt_FUNC_USELOCALE | ||
27 | |||
28 | dnl On OpenBSD >= 6.2, the locale_t type and the uselocale(), newlocale(), | ||
29 | dnl duplocale(), freelocale() functions exist but are effectively useless, | ||
30 | dnl because the locale_t value depends only on the LC_CTYPE category of the | ||
31 | dnl locale and furthermore contains only one bit of information (it | ||
32 | dnl distinguishes the "C" locale from the *.UTF-8 locales). See | ||
33 | dnl <https://cvsweb.openbsd.org/src/lib/libc/locale/newlocale.c?rev=1.1&content-type=text/x-cvsweb-markup>. | ||
34 | dnl In the setlocale() implementation they have thought about the programs | ||
35 | dnl that use the API ("Even though only LC_CTYPE has any effect in the | ||
36 | dnl OpenBSD base system, store complete information about the global locale, | ||
37 | dnl such that third-party software can access it"), but for uselocale() | ||
38 | dnl they did not think about the programs. | ||
39 | dnl In this situation, even the HAVE_NAMELESS_LOCALES support does not work. | ||
40 | dnl So, define HAVE_FAKE_LOCALES and disable all locale_t support. | ||
41 | case "$gt_cv_func_uselocale_works" in | ||
42 | *yes) | ||
43 | AC_CHECK_HEADERS_ONCE([xlocale.h]) | ||
44 | AC_CACHE_CHECK([for fake locale system (OpenBSD)], | ||
45 | [gt_cv_locale_fake], | ||
46 | [AC_RUN_IFELSE( | ||
47 | [AC_LANG_SOURCE([[ | ||
48 | #include <locale.h> | ||
49 | #if HAVE_XLOCALE_H | ||
50 | # include <xlocale.h> | ||
51 | #endif | ||
52 | int main () | ||
53 | { | ||
54 | locale_t loc1, loc2; | ||
55 | if (setlocale (LC_ALL, "de_DE.UTF-8") == NULL) return 1; | ||
56 | if (setlocale (LC_ALL, "fr_FR.UTF-8") == NULL) return 1; | ||
57 | loc1 = newlocale (LC_ALL_MASK, "de_DE.UTF-8", (locale_t)0); | ||
58 | loc2 = newlocale (LC_ALL_MASK, "fr_FR.UTF-8", (locale_t)0); | ||
59 | return !(loc1 == loc2); | ||
60 | }]])], | ||
61 | [gt_cv_locale_fake=yes], | ||
62 | [gt_cv_locale_fake=no], | ||
63 | [dnl Guess the locale system is fake only on OpenBSD. | ||
64 | case "$host_os" in | ||
65 | openbsd*) gt_cv_locale_fake="guessing yes" ;; | ||
66 | *) gt_cv_locale_fake="guessing no" ;; | ||
67 | esac | ||
68 | ]) | ||
69 | ]) | ||
70 | ;; | ||
71 | *) gt_cv_locale_fake=no ;; | ||
72 | esac | ||
73 | case "$gt_cv_locale_fake" in | ||
74 | *yes) | ||
75 | gt_fake_locales=yes | ||
76 | AC_DEFINE([HAVE_FAKE_LOCALES], [1], | ||
77 | [Define if the locale_t type contains insufficient information, as on OpenBSD.]) | ||
78 | ;; | ||
79 | *) | ||
80 | gt_fake_locales=no | ||
81 | ;; | ||
82 | esac | ||
83 | |||
84 | case "$gt_cv_func_uselocale_works" in | ||
85 | *yes) | ||
86 | AC_CACHE_CHECK([for Solaris 11.4 locale system], | ||
87 | [gt_cv_locale_solaris114], | ||
88 | [case "$host_os" in | ||
89 | solaris*) | ||
90 | dnl Test whether <locale.h> defines locale_t as a typedef of | ||
91 | dnl 'struct _LC_locale_t **' (whereas Illumos defines it as a | ||
92 | dnl typedef of 'struct _locale *'). | ||
93 | dnl Another possible test would be to include <sys/localedef.h> | ||
94 | dnl and test whether it defines the _LC_core_data_locale_t type. | ||
95 | dnl This type was added in Solaris 11.4. | ||
96 | AC_COMPILE_IFELSE( | ||
97 | [AC_LANG_PROGRAM([[ | ||
98 | #include <locale.h> | ||
99 | struct _LC_locale_t *x; | ||
100 | locale_t y; | ||
101 | ]], | ||
102 | [[*y = x;]])], | ||
103 | [gt_cv_locale_solaris114=yes], | ||
104 | [gt_cv_locale_solaris114=no]) | ||
105 | ;; | ||
106 | *) gt_cv_locale_solaris114=no ;; | ||
107 | esac | ||
108 | ]) | ||
109 | ;; | ||
110 | *) gt_cv_locale_solaris114=no ;; | ||
111 | esac | ||
112 | if test $gt_cv_locale_solaris114 = yes; then | ||
113 | AC_DEFINE([HAVE_SOLARIS114_LOCALES], [1], | ||
114 | [Define if the locale_t type is as on Solaris 11.4.]) | ||
115 | fi | ||
116 | |||
117 | dnl Solaris 12 will maybe provide getlocalename_l. If it does, it will | ||
118 | dnl improve the implementation of gl_locale_name_thread(), by removing | ||
119 | dnl the use of undocumented structures. | ||
120 | case "$gt_cv_func_uselocale_works" in | ||
121 | *yes) | ||
122 | AC_CHECK_FUNCS([getlocalename_l]) | ||
123 | ;; | ||
124 | esac | ||
125 | |||
126 | dnl This code is for platforms where the locale_t type does not provide access | ||
127 | dnl to the name of each locale category. This code has the drawback that it | ||
128 | dnl requires the gnulib overrides of 'newlocale', 'duplocale', 'freelocale', | ||
129 | dnl which is a problem for GNU libunistring. Therefore try hard to avoid | ||
130 | dnl enabling this code! | ||
131 | gt_nameless_locales=no | ||
132 | case "$host_os" in | ||
133 | dnl It's needed on AIX 7.2. | ||
134 | aix*) | ||
135 | gt_nameless_locales=yes | ||
136 | AC_DEFINE([HAVE_NAMELESS_LOCALES], [1], | ||
137 | [Define if the locale_t type does not contain the name of each locale category.]) | ||
138 | ;; | ||
139 | esac | ||
140 | |||
141 | dnl We cannot support uselocale() on platforms where the locale_t type is | ||
142 | dnl fake. So, set | ||
143 | dnl gt_good_uselocale = gt_working_uselocale && !gt_fake_locales. | ||
144 | if test $gt_working_uselocale = yes && test $gt_fake_locales = no; then | ||
145 | gt_good_uselocale=yes | ||
146 | AC_DEFINE([HAVE_GOOD_USELOCALE], [1], | ||
147 | [Define if the uselocale exists, may be safely called, and returns sufficient information.]) | ||
148 | else | ||
149 | gt_good_uselocale=no | ||
150 | fi | ||
151 | |||
152 | dnl Set gt_localename_enhances_locale_funcs to indicate whether localename.c | ||
153 | dnl overrides newlocale(), duplocale(), freelocale() to keep track of locale | ||
154 | dnl names. | ||
155 | if test $gt_good_uselocale = yes && test $gt_nameless_locales = yes; then | ||
156 | gt_localename_enhances_locale_funcs=yes | ||
157 | LOCALENAME_ENHANCE_LOCALE_FUNCS=1 | ||
158 | AC_DEFINE([LOCALENAME_ENHANCE_LOCALE_FUNCS], [1], | ||
159 | [Define if localename.c overrides newlocale(), duplocale(), freelocale().]) | ||
160 | else | ||
161 | gt_localename_enhances_locale_funcs=no | ||
162 | fi | ||
163 | ]) | ||
164 | |||
165 | dnl Tests whether uselocale() exists and is usable. | ||
166 | dnl Sets gt_working_uselocale and defines HAVE_WORKING_USELOCALE. | ||
167 | AC_DEFUN([gt_FUNC_USELOCALE], | ||
168 | [ | ||
169 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
170 | |||
171 | dnl Persuade glibc and Solaris <locale.h> to define 'locale_t'. | ||
172 | AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) | ||
173 | |||
174 | AC_CHECK_FUNCS_ONCE([uselocale]) | ||
175 | |||
176 | dnl On AIX 7.2, the uselocale() function is not documented and leads to | ||
177 | dnl crashes in subsequent setlocale() invocations. | ||
178 | dnl In 2019, some versions of z/OS lack the locale_t type and have a broken | ||
179 | dnl uselocale function. | ||
180 | if test $ac_cv_func_uselocale = yes; then | ||
181 | AC_CHECK_HEADERS_ONCE([xlocale.h]) | ||
182 | AC_CACHE_CHECK([whether uselocale works], | ||
183 | [gt_cv_func_uselocale_works], | ||
184 | [AC_RUN_IFELSE( | ||
185 | [AC_LANG_SOURCE([[ | ||
186 | #include <locale.h> | ||
187 | #if HAVE_XLOCALE_H | ||
188 | # include <xlocale.h> | ||
189 | #endif | ||
190 | locale_t loc1; | ||
191 | int main () | ||
192 | { | ||
193 | uselocale (NULL); | ||
194 | setlocale (LC_ALL, "en_US.UTF-8"); | ||
195 | return 0; | ||
196 | }]])], | ||
197 | [gt_cv_func_uselocale_works=yes], | ||
198 | [gt_cv_func_uselocale_works=no], | ||
199 | [# Guess no on AIX and z/OS, yes otherwise. | ||
200 | case "$host_os" in | ||
201 | aix* | openedition*) gt_cv_func_uselocale_works="guessing no" ;; | ||
202 | *) gt_cv_func_uselocale_works="guessing yes" ;; | ||
203 | esac | ||
204 | ]) | ||
205 | ]) | ||
206 | else | ||
207 | gt_cv_func_uselocale_works=no | ||
208 | fi | ||
209 | case "$gt_cv_func_uselocale_works" in | ||
210 | *yes) | ||
211 | gt_working_uselocale=yes | ||
212 | AC_DEFINE([HAVE_WORKING_USELOCALE], [1], | ||
213 | [Define if the uselocale function exists and may safely be called.]) | ||
214 | ;; | ||
215 | *) | ||
216 | gt_working_uselocale=no | ||
217 | ;; | ||
218 | esac | ||
219 | ]) | ||
diff --git a/gl/m4/intlmacosx.m4 b/gl/m4/intlmacosx.m4 deleted file mode 100644 index 81eefd75..00000000 --- a/gl/m4/intlmacosx.m4 +++ /dev/null | |||
@@ -1,65 +0,0 @@ | |||
1 | # intlmacosx.m4 serial 8 (gettext-0.20.2) | ||
2 | dnl Copyright (C) 2004-2014, 2016, 2019-2023 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | 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 | ||
7 | dnl This file can be used in projects which are not available under | ||
8 | dnl the GNU General Public License or the GNU Lesser General Public | ||
9 | dnl License but which still want to provide support for the GNU gettext | ||
10 | dnl functionality. | ||
11 | dnl Please note that the actual code of the GNU gettext library is covered | ||
12 | dnl by the GNU Lesser General Public License, and the rest of the GNU | ||
13 | dnl gettext package is covered by the GNU General Public License. | ||
14 | dnl They are *not* in the public domain. | ||
15 | |||
16 | dnl Checks for special options needed on Mac OS X. | ||
17 | dnl Defines INTL_MACOSX_LIBS. | ||
18 | AC_DEFUN([gt_INTL_MACOSX], | ||
19 | [ | ||
20 | dnl Check for API introduced in Mac OS X 10.4. | ||
21 | AC_CACHE_CHECK([for CFPreferencesCopyAppValue], | ||
22 | [gt_cv_func_CFPreferencesCopyAppValue], | ||
23 | [gt_save_LIBS="$LIBS" | ||
24 | LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" | ||
25 | AC_LINK_IFELSE( | ||
26 | [AC_LANG_PROGRAM( | ||
27 | [[#include <CoreFoundation/CFPreferences.h>]], | ||
28 | [[CFPreferencesCopyAppValue(NULL, NULL)]])], | ||
29 | [gt_cv_func_CFPreferencesCopyAppValue=yes], | ||
30 | [gt_cv_func_CFPreferencesCopyAppValue=no]) | ||
31 | LIBS="$gt_save_LIBS"]) | ||
32 | if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then | ||
33 | AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], | ||
34 | [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) | ||
35 | fi | ||
36 | dnl Don't check for the API introduced in Mac OS X 10.5, CFLocaleCopyCurrent, | ||
37 | dnl because in macOS 10.13.4 it has the following behaviour: | ||
38 | dnl When two or more languages are specified in the | ||
39 | dnl "System Preferences > Language & Region > Preferred Languages" panel, | ||
40 | dnl it returns en_CC where CC is the territory (even when English is not among | ||
41 | dnl the preferred languages!). What we want instead is what | ||
42 | dnl CFLocaleCopyCurrent returned in earlier macOS releases and what | ||
43 | dnl CFPreferencesCopyAppValue still returns, namely ll_CC where ll is the | ||
44 | dnl first among the preferred languages and CC is the territory. | ||
45 | AC_CACHE_CHECK([for CFLocaleCopyPreferredLanguages], [gt_cv_func_CFLocaleCopyPreferredLanguages], | ||
46 | [gt_save_LIBS="$LIBS" | ||
47 | LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" | ||
48 | AC_LINK_IFELSE( | ||
49 | [AC_LANG_PROGRAM( | ||
50 | [[#include <CoreFoundation/CFLocale.h>]], | ||
51 | [[CFLocaleCopyPreferredLanguages();]])], | ||
52 | [gt_cv_func_CFLocaleCopyPreferredLanguages=yes], | ||
53 | [gt_cv_func_CFLocaleCopyPreferredLanguages=no]) | ||
54 | LIBS="$gt_save_LIBS"]) | ||
55 | if test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then | ||
56 | AC_DEFINE([HAVE_CFLOCALECOPYPREFERREDLANGUAGES], [1], | ||
57 | [Define to 1 if you have the Mac OS X function CFLocaleCopyPreferredLanguages in the CoreFoundation framework.]) | ||
58 | fi | ||
59 | INTL_MACOSX_LIBS= | ||
60 | if test $gt_cv_func_CFPreferencesCopyAppValue = yes \ | ||
61 | || test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then | ||
62 | INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" | ||
63 | fi | ||
64 | AC_SUBST([INTL_MACOSX_LIBS]) | ||
65 | ]) | ||
diff --git a/gl/m4/lib-ld.m4 b/gl/m4/lib-ld.m4 deleted file mode 100644 index 6bc1886f..00000000 --- a/gl/m4/lib-ld.m4 +++ /dev/null | |||
@@ -1,168 +0,0 @@ | |||
1 | # lib-ld.m4 serial 10 | ||
2 | dnl Copyright (C) 1996-2003, 2009-2023 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | dnl gives unlimited permission to copy and/or distribute it, | ||
5 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | |||
7 | dnl Subroutines of libtool.m4, | ||
8 | dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid | ||
9 | dnl collision with libtool.m4. | ||
10 | |||
11 | dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no. | ||
12 | AC_DEFUN([AC_LIB_PROG_LD_GNU], | ||
13 | [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], | ||
14 | [# I'd rather use --version here, but apparently some GNU lds only accept -v. | ||
15 | case `$LD -v 2>&1 </dev/null` in | ||
16 | *GNU* | *'with BFD'*) | ||
17 | acl_cv_prog_gnu_ld=yes | ||
18 | ;; | ||
19 | *) | ||
20 | acl_cv_prog_gnu_ld=no | ||
21 | ;; | ||
22 | esac]) | ||
23 | with_gnu_ld=$acl_cv_prog_gnu_ld | ||
24 | ]) | ||
25 | |||
26 | dnl From libtool-2.4. Sets the variable LD. | ||
27 | AC_DEFUN([AC_LIB_PROG_LD], | ||
28 | [AC_REQUIRE([AC_PROG_CC])dnl | ||
29 | AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
30 | |||
31 | AC_ARG_WITH([gnu-ld], | ||
32 | [AS_HELP_STRING([--with-gnu-ld], | ||
33 | [assume the C compiler uses GNU ld [default=no]])], | ||
34 | [test "$withval" = no || with_gnu_ld=yes], | ||
35 | [with_gnu_ld=no])dnl | ||
36 | |||
37 | # Prepare PATH_SEPARATOR. | ||
38 | # The user is always right. | ||
39 | if test "${PATH_SEPARATOR+set}" != set; then | ||
40 | # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which | ||
41 | # contains only /bin. Note that ksh looks also at the FPATH variable, | ||
42 | # so we have to set that as well for the test. | ||
43 | PATH_SEPARATOR=: | ||
44 | (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ | ||
45 | && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ | ||
46 | || PATH_SEPARATOR=';' | ||
47 | } | ||
48 | fi | ||
49 | |||
50 | if test -n "$LD"; then | ||
51 | AC_MSG_CHECKING([for ld]) | ||
52 | elif test "$GCC" = yes; then | ||
53 | AC_MSG_CHECKING([for ld used by $CC]) | ||
54 | elif test "$with_gnu_ld" = yes; then | ||
55 | AC_MSG_CHECKING([for GNU ld]) | ||
56 | else | ||
57 | AC_MSG_CHECKING([for non-GNU ld]) | ||
58 | fi | ||
59 | if test -n "$LD"; then | ||
60 | # Let the user override the test with a path. | ||
61 | : | ||
62 | else | ||
63 | AC_CACHE_VAL([acl_cv_path_LD], | ||
64 | [ | ||
65 | acl_cv_path_LD= # Final result of this test | ||
66 | ac_prog=ld # Program to search in $PATH | ||
67 | if test "$GCC" = yes; then | ||
68 | # Check if gcc -print-prog-name=ld gives a path. | ||
69 | case $host in | ||
70 | *-*-mingw*) | ||
71 | # gcc leaves a trailing carriage return which upsets mingw | ||
72 | acl_output=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; | ||
73 | *) | ||
74 | acl_output=`($CC -print-prog-name=ld) 2>&5` ;; | ||
75 | esac | ||
76 | case $acl_output in | ||
77 | # Accept absolute paths. | ||
78 | [[\\/]]* | ?:[[\\/]]*) | ||
79 | re_direlt='/[[^/]][[^/]]*/\.\./' | ||
80 | # Canonicalize the pathname of ld | ||
81 | acl_output=`echo "$acl_output" | sed 's%\\\\%/%g'` | ||
82 | while echo "$acl_output" | grep "$re_direlt" > /dev/null 2>&1; do | ||
83 | acl_output=`echo $acl_output | sed "s%$re_direlt%/%"` | ||
84 | done | ||
85 | # Got the pathname. No search in PATH is needed. | ||
86 | acl_cv_path_LD="$acl_output" | ||
87 | ac_prog= | ||
88 | ;; | ||
89 | "") | ||
90 | # If it fails, then pretend we aren't using GCC. | ||
91 | ;; | ||
92 | *) | ||
93 | # If it is relative, then search for the first ld in PATH. | ||
94 | with_gnu_ld=unknown | ||
95 | ;; | ||
96 | esac | ||
97 | fi | ||
98 | if test -n "$ac_prog"; then | ||
99 | # Search for $ac_prog in $PATH. | ||
100 | acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR | ||
101 | for ac_dir in $PATH; do | ||
102 | IFS="$acl_save_ifs" | ||
103 | test -z "$ac_dir" && ac_dir=. | ||
104 | if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then | ||
105 | acl_cv_path_LD="$ac_dir/$ac_prog" | ||
106 | # Check to see if the program is GNU ld. I'd rather use --version, | ||
107 | # but apparently some variants of GNU ld only accept -v. | ||
108 | # Break only if it was the GNU/non-GNU ld that we prefer. | ||
109 | case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in | ||
110 | *GNU* | *'with BFD'*) | ||
111 | test "$with_gnu_ld" != no && break | ||
112 | ;; | ||
113 | *) | ||
114 | test "$with_gnu_ld" != yes && break | ||
115 | ;; | ||
116 | esac | ||
117 | fi | ||
118 | done | ||
119 | IFS="$acl_save_ifs" | ||
120 | fi | ||
121 | case $host in | ||
122 | *-*-aix*) | ||
123 | AC_COMPILE_IFELSE( | ||
124 | [AC_LANG_SOURCE( | ||
125 | [[#if defined __powerpc64__ || defined __LP64__ | ||
126 | int ok; | ||
127 | #else | ||
128 | error fail | ||
129 | #endif | ||
130 | ]])], | ||
131 | [# The compiler produces 64-bit code. Add option '-b64' so that the | ||
132 | # linker groks 64-bit object files. | ||
133 | case "$acl_cv_path_LD " in | ||
134 | *" -b64 "*) ;; | ||
135 | *) acl_cv_path_LD="$acl_cv_path_LD -b64" ;; | ||
136 | esac | ||
137 | ], []) | ||
138 | ;; | ||
139 | sparc64-*-netbsd*) | ||
140 | AC_COMPILE_IFELSE( | ||
141 | [AC_LANG_SOURCE( | ||
142 | [[#if defined __sparcv9 || defined __arch64__ | ||
143 | int ok; | ||
144 | #else | ||
145 | error fail | ||
146 | #endif | ||
147 | ]])], | ||
148 | [], | ||
149 | [# The compiler produces 32-bit code. Add option '-m elf32_sparc' | ||
150 | # so that the linker groks 32-bit object files. | ||
151 | case "$acl_cv_path_LD " in | ||
152 | *" -m elf32_sparc "*) ;; | ||
153 | *) acl_cv_path_LD="$acl_cv_path_LD -m elf32_sparc" ;; | ||
154 | esac | ||
155 | ]) | ||
156 | ;; | ||
157 | esac | ||
158 | ]) | ||
159 | LD="$acl_cv_path_LD" | ||
160 | fi | ||
161 | if test -n "$LD"; then | ||
162 | AC_MSG_RESULT([$LD]) | ||
163 | else | ||
164 | AC_MSG_RESULT([no]) | ||
165 | AC_MSG_ERROR([no acceptable ld found in \$PATH]) | ||
166 | fi | ||
167 | AC_LIB_PROG_LD_GNU | ||
168 | ]) | ||
diff --git a/gl/m4/lib-link.m4 b/gl/m4/lib-link.m4 deleted file mode 100644 index 653e34f8..00000000 --- a/gl/m4/lib-link.m4 +++ /dev/null | |||
@@ -1,813 +0,0 @@ | |||
1 | # lib-link.m4 serial 33 | ||
2 | dnl Copyright (C) 2001-2023 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | dnl gives unlimited permission to copy and/or distribute it, | ||
5 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | |||
7 | dnl From Bruno Haible. | ||
8 | |||
9 | AC_PREREQ([2.61]) | ||
10 | |||
11 | dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and | ||
12 | dnl the libraries corresponding to explicit and implicit dependencies. | ||
13 | dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and | ||
14 | dnl augments the CPPFLAGS variable. | ||
15 | dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname | ||
16 | dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. | ||
17 | AC_DEFUN([AC_LIB_LINKFLAGS], | ||
18 | [ | ||
19 | AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) | ||
20 | AC_REQUIRE([AC_LIB_RPATH]) | ||
21 | pushdef([Name],[m4_translit([$1],[./+-], [____])]) | ||
22 | pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], | ||
23 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) | ||
24 | AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ | ||
25 | AC_LIB_LINKFLAGS_BODY([$1], [$2]) | ||
26 | ac_cv_lib[]Name[]_libs="$LIB[]NAME" | ||
27 | ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" | ||
28 | ac_cv_lib[]Name[]_cppflags="$INC[]NAME" | ||
29 | ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" | ||
30 | ]) | ||
31 | LIB[]NAME="$ac_cv_lib[]Name[]_libs" | ||
32 | LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" | ||
33 | INC[]NAME="$ac_cv_lib[]Name[]_cppflags" | ||
34 | LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" | ||
35 | AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) | ||
36 | AC_SUBST([LIB]NAME) | ||
37 | AC_SUBST([LTLIB]NAME) | ||
38 | AC_SUBST([LIB]NAME[_PREFIX]) | ||
39 | dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the | ||
40 | dnl results of this search when this library appears as a dependency. | ||
41 | HAVE_LIB[]NAME=yes | ||
42 | popdef([NAME]) | ||
43 | popdef([Name]) | ||
44 | ]) | ||
45 | |||
46 | dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message]) | ||
47 | dnl searches for libname and the libraries corresponding to explicit and | ||
48 | dnl implicit dependencies, together with the specified include files and | ||
49 | dnl the ability to compile and link the specified testcode. The missing-message | ||
50 | dnl defaults to 'no' and may contain additional hints for the user. | ||
51 | dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} | ||
52 | dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and | ||
53 | dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs | ||
54 | dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. | ||
55 | dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname | ||
56 | dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. | ||
57 | AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], | ||
58 | [ | ||
59 | AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) | ||
60 | AC_REQUIRE([AC_LIB_RPATH]) | ||
61 | pushdef([Name],[m4_translit([$1],[./+-], [____])]) | ||
62 | pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], | ||
63 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) | ||
64 | |||
65 | dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME | ||
66 | dnl accordingly. | ||
67 | AC_LIB_LINKFLAGS_BODY([$1], [$2]) | ||
68 | |||
69 | dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, | ||
70 | dnl because if the user has installed lib[]Name and not disabled its use | ||
71 | dnl via --without-lib[]Name-prefix, he wants to use it. | ||
72 | ac_save_CPPFLAGS="$CPPFLAGS" | ||
73 | AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) | ||
74 | |||
75 | AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ | ||
76 | ac_save_LIBS="$LIBS" | ||
77 | dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS, | ||
78 | dnl because these -l options might require -L options that are present in | ||
79 | dnl LIBS. -l options benefit only from the -L options listed before it. | ||
80 | dnl Otherwise, add it to the front of LIBS, because it may be a static | ||
81 | dnl library that depends on another static library that is present in LIBS. | ||
82 | dnl Static libraries benefit only from the static libraries listed after | ||
83 | dnl it. | ||
84 | case " $LIB[]NAME" in | ||
85 | *" -l"*) LIBS="$LIBS $LIB[]NAME" ;; | ||
86 | *) LIBS="$LIB[]NAME $LIBS" ;; | ||
87 | esac | ||
88 | AC_LINK_IFELSE( | ||
89 | [AC_LANG_PROGRAM([[$3]], [[$4]])], | ||
90 | [ac_cv_lib[]Name=yes], | ||
91 | [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])']) | ||
92 | LIBS="$ac_save_LIBS" | ||
93 | ]) | ||
94 | if test "$ac_cv_lib[]Name" = yes; then | ||
95 | HAVE_LIB[]NAME=yes | ||
96 | AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.]) | ||
97 | AC_MSG_CHECKING([how to link with lib[]$1]) | ||
98 | AC_MSG_RESULT([$LIB[]NAME]) | ||
99 | else | ||
100 | HAVE_LIB[]NAME=no | ||
101 | dnl If $LIB[]NAME didn't lead to a usable library, we don't need | ||
102 | dnl $INC[]NAME either. | ||
103 | CPPFLAGS="$ac_save_CPPFLAGS" | ||
104 | LIB[]NAME= | ||
105 | LTLIB[]NAME= | ||
106 | LIB[]NAME[]_PREFIX= | ||
107 | fi | ||
108 | AC_SUBST([HAVE_LIB]NAME) | ||
109 | AC_SUBST([LIB]NAME) | ||
110 | AC_SUBST([LTLIB]NAME) | ||
111 | AC_SUBST([LIB]NAME[_PREFIX]) | ||
112 | popdef([NAME]) | ||
113 | popdef([Name]) | ||
114 | ]) | ||
115 | |||
116 | dnl Determine the platform dependent parameters needed to use rpath: | ||
117 | dnl acl_libext, | ||
118 | dnl acl_shlibext, | ||
119 | dnl acl_libname_spec, | ||
120 | dnl acl_library_names_spec, | ||
121 | dnl acl_hardcode_libdir_flag_spec, | ||
122 | dnl acl_hardcode_libdir_separator, | ||
123 | dnl acl_hardcode_direct, | ||
124 | dnl acl_hardcode_minus_L. | ||
125 | AC_DEFUN([AC_LIB_RPATH], | ||
126 | [ | ||
127 | dnl Complain if config.rpath is missing. | ||
128 | AC_REQUIRE_AUX_FILE([config.rpath]) | ||
129 | AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS | ||
130 | AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld | ||
131 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host | ||
132 | AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir | ||
133 | AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [ | ||
134 | CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ | ||
135 | ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh | ||
136 | . ./conftest.sh | ||
137 | rm -f ./conftest.sh | ||
138 | acl_cv_rpath=done | ||
139 | ]) | ||
140 | wl="$acl_cv_wl" | ||
141 | acl_libext="$acl_cv_libext" | ||
142 | acl_shlibext="$acl_cv_shlibext" | ||
143 | acl_libname_spec="$acl_cv_libname_spec" | ||
144 | acl_library_names_spec="$acl_cv_library_names_spec" | ||
145 | acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" | ||
146 | acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" | ||
147 | acl_hardcode_direct="$acl_cv_hardcode_direct" | ||
148 | acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" | ||
149 | dnl Determine whether the user wants rpath handling at all. | ||
150 | AC_ARG_ENABLE([rpath], | ||
151 | [ --disable-rpath do not hardcode runtime library paths], | ||
152 | :, enable_rpath=yes) | ||
153 | ]) | ||
154 | |||
155 | dnl AC_LIB_FROMPACKAGE(name, package) | ||
156 | dnl declares that libname comes from the given package. The configure file | ||
157 | dnl will then not have a --with-libname-prefix option but a | ||
158 | dnl --with-package-prefix option. Several libraries can come from the same | ||
159 | dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar | ||
160 | dnl macro call that searches for libname. | ||
161 | AC_DEFUN([AC_LIB_FROMPACKAGE], | ||
162 | [ | ||
163 | pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], | ||
164 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) | ||
165 | define([acl_frompackage_]NAME, [$2]) | ||
166 | popdef([NAME]) | ||
167 | pushdef([PACK],[$2]) | ||
168 | pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], | ||
169 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) | ||
170 | define([acl_libsinpackage_]PACKUP, | ||
171 | m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1]) | ||
172 | popdef([PACKUP]) | ||
173 | popdef([PACK]) | ||
174 | ]) | ||
175 | |||
176 | dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and | ||
177 | dnl the libraries corresponding to explicit and implicit dependencies. | ||
178 | dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. | ||
179 | dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found | ||
180 | dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. | ||
181 | AC_DEFUN([AC_LIB_LINKFLAGS_BODY], | ||
182 | [ | ||
183 | AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) | ||
184 | pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], | ||
185 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) | ||
186 | pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) | ||
187 | pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], | ||
188 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) | ||
189 | pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) | ||
190 | dnl By default, look in $includedir and $libdir. | ||
191 | use_additional=yes | ||
192 | AC_LIB_WITH_FINAL_PREFIX([ | ||
193 | eval additional_includedir=\"$includedir\" | ||
194 | eval additional_libdir=\"$libdir\" | ||
195 | eval additional_libdir2=\"$exec_prefix/$acl_libdirstem2\" | ||
196 | eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\" | ||
197 | ]) | ||
198 | AC_ARG_WITH(PACK[-prefix], | ||
199 | [[ --with-]]PACK[[-prefix[=DIR] search for ]]PACKLIBS[[ in DIR/include and DIR/lib | ||
200 | --without-]]PACK[[-prefix don't search for ]]PACKLIBS[[ in includedir and libdir]], | ||
201 | [ | ||
202 | if test "X$withval" = "Xno"; then | ||
203 | use_additional=no | ||
204 | else | ||
205 | if test "X$withval" = "X"; then | ||
206 | AC_LIB_WITH_FINAL_PREFIX([ | ||
207 | eval additional_includedir=\"$includedir\" | ||
208 | eval additional_libdir=\"$libdir\" | ||
209 | eval additional_libdir2=\"$exec_prefix/$acl_libdirstem2\" | ||
210 | eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\" | ||
211 | ]) | ||
212 | else | ||
213 | additional_includedir="$withval/include" | ||
214 | additional_libdir="$withval/$acl_libdirstem" | ||
215 | additional_libdir2="$withval/$acl_libdirstem2" | ||
216 | additional_libdir3="$withval/$acl_libdirstem3" | ||
217 | fi | ||
218 | fi | ||
219 | ]) | ||
220 | if test "X$additional_libdir2" = "X$additional_libdir"; then | ||
221 | additional_libdir2= | ||
222 | fi | ||
223 | if test "X$additional_libdir3" = "X$additional_libdir"; then | ||
224 | additional_libdir3= | ||
225 | fi | ||
226 | dnl Search the library and its dependencies in $additional_libdir and | ||
227 | dnl $LDFLAGS. Using breadth-first-seach. | ||
228 | LIB[]NAME= | ||
229 | LTLIB[]NAME= | ||
230 | INC[]NAME= | ||
231 | LIB[]NAME[]_PREFIX= | ||
232 | dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been | ||
233 | dnl computed. So it has to be reset here. | ||
234 | HAVE_LIB[]NAME= | ||
235 | rpathdirs= | ||
236 | ltrpathdirs= | ||
237 | names_already_handled= | ||
238 | names_next_round='$1 $2' | ||
239 | while test -n "$names_next_round"; do | ||
240 | names_this_round="$names_next_round" | ||
241 | names_next_round= | ||
242 | for name in $names_this_round; do | ||
243 | already_handled= | ||
244 | for n in $names_already_handled; do | ||
245 | if test "$n" = "$name"; then | ||
246 | already_handled=yes | ||
247 | break | ||
248 | fi | ||
249 | done | ||
250 | if test -z "$already_handled"; then | ||
251 | names_already_handled="$names_already_handled $name" | ||
252 | dnl See if it was already located by an earlier AC_LIB_LINKFLAGS | ||
253 | dnl or AC_LIB_HAVE_LINKFLAGS call. | ||
254 | uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` | ||
255 | eval value=\"\$HAVE_LIB$uppername\" | ||
256 | if test -n "$value"; then | ||
257 | if test "$value" = yes; then | ||
258 | eval value=\"\$LIB$uppername\" | ||
259 | test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" | ||
260 | eval value=\"\$LTLIB$uppername\" | ||
261 | test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" | ||
262 | else | ||
263 | dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined | ||
264 | dnl that this library doesn't exist. So just drop it. | ||
265 | : | ||
266 | fi | ||
267 | else | ||
268 | dnl Search the library lib$name in $additional_libdir and $LDFLAGS | ||
269 | dnl and the already constructed $LIBNAME/$LTLIBNAME. | ||
270 | found_dir= | ||
271 | found_la= | ||
272 | found_so= | ||
273 | found_a= | ||
274 | eval libname=\"$acl_libname_spec\" # typically: libname=lib$name | ||
275 | if test -n "$acl_shlibext"; then | ||
276 | shrext=".$acl_shlibext" # typically: shrext=.so | ||
277 | else | ||
278 | shrext= | ||
279 | fi | ||
280 | if test $use_additional = yes; then | ||
281 | for additional_libdir_variable in additional_libdir additional_libdir2 additional_libdir3; do | ||
282 | if test "X$found_dir" = "X"; then | ||
283 | eval dir=\$$additional_libdir_variable | ||
284 | if test -n "$dir"; then | ||
285 | dnl The same code as in the loop below: | ||
286 | dnl First look for a shared library. | ||
287 | if test -n "$acl_shlibext"; then | ||
288 | if test -f "$dir/$libname$shrext" && acl_is_expected_elfclass < "$dir/$libname$shrext"; then | ||
289 | found_dir="$dir" | ||
290 | found_so="$dir/$libname$shrext" | ||
291 | else | ||
292 | if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then | ||
293 | ver=`(cd "$dir" && \ | ||
294 | for f in "$libname$shrext".*; do echo "$f"; done \ | ||
295 | | sed -e "s,^$libname$shrext\\\\.,," \ | ||
296 | | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | ||
297 | | sed 1q ) 2>/dev/null` | ||
298 | if test -n "$ver" && test -f "$dir/$libname$shrext.$ver" && acl_is_expected_elfclass < "$dir/$libname$shrext.$ver"; then | ||
299 | found_dir="$dir" | ||
300 | found_so="$dir/$libname$shrext.$ver" | ||
301 | fi | ||
302 | else | ||
303 | eval library_names=\"$acl_library_names_spec\" | ||
304 | for f in $library_names; do | ||
305 | if test -f "$dir/$f" && acl_is_expected_elfclass < "$dir/$f"; then | ||
306 | found_dir="$dir" | ||
307 | found_so="$dir/$f" | ||
308 | break | ||
309 | fi | ||
310 | done | ||
311 | fi | ||
312 | fi | ||
313 | fi | ||
314 | dnl Then look for a static library. | ||
315 | if test "X$found_dir" = "X"; then | ||
316 | if test -f "$dir/$libname.$acl_libext" && ${AR-ar} -p "$dir/$libname.$acl_libext" | acl_is_expected_elfclass; then | ||
317 | found_dir="$dir" | ||
318 | found_a="$dir/$libname.$acl_libext" | ||
319 | fi | ||
320 | fi | ||
321 | if test "X$found_dir" != "X"; then | ||
322 | if test -f "$dir/$libname.la"; then | ||
323 | found_la="$dir/$libname.la" | ||
324 | fi | ||
325 | fi | ||
326 | fi | ||
327 | fi | ||
328 | done | ||
329 | fi | ||
330 | if test "X$found_dir" = "X"; then | ||
331 | for x in $LDFLAGS $LTLIB[]NAME; do | ||
332 | AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||
333 | case "$x" in | ||
334 | -L*) | ||
335 | dir=`echo "X$x" | sed -e 's/^X-L//'` | ||
336 | dnl First look for a shared library. | ||
337 | if test -n "$acl_shlibext"; then | ||
338 | if test -f "$dir/$libname$shrext" && acl_is_expected_elfclass < "$dir/$libname$shrext"; then | ||
339 | found_dir="$dir" | ||
340 | found_so="$dir/$libname$shrext" | ||
341 | else | ||
342 | if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then | ||
343 | ver=`(cd "$dir" && \ | ||
344 | for f in "$libname$shrext".*; do echo "$f"; done \ | ||
345 | | sed -e "s,^$libname$shrext\\\\.,," \ | ||
346 | | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | ||
347 | | sed 1q ) 2>/dev/null` | ||
348 | if test -n "$ver" && test -f "$dir/$libname$shrext.$ver" && acl_is_expected_elfclass < "$dir/$libname$shrext.$ver"; then | ||
349 | found_dir="$dir" | ||
350 | found_so="$dir/$libname$shrext.$ver" | ||
351 | fi | ||
352 | else | ||
353 | eval library_names=\"$acl_library_names_spec\" | ||
354 | for f in $library_names; do | ||
355 | if test -f "$dir/$f" && acl_is_expected_elfclass < "$dir/$f"; then | ||
356 | found_dir="$dir" | ||
357 | found_so="$dir/$f" | ||
358 | break | ||
359 | fi | ||
360 | done | ||
361 | fi | ||
362 | fi | ||
363 | fi | ||
364 | dnl Then look for a static library. | ||
365 | if test "X$found_dir" = "X"; then | ||
366 | if test -f "$dir/$libname.$acl_libext" && ${AR-ar} -p "$dir/$libname.$acl_libext" | acl_is_expected_elfclass; then | ||
367 | found_dir="$dir" | ||
368 | found_a="$dir/$libname.$acl_libext" | ||
369 | fi | ||
370 | fi | ||
371 | if test "X$found_dir" != "X"; then | ||
372 | if test -f "$dir/$libname.la"; then | ||
373 | found_la="$dir/$libname.la" | ||
374 | fi | ||
375 | fi | ||
376 | ;; | ||
377 | esac | ||
378 | if test "X$found_dir" != "X"; then | ||
379 | break | ||
380 | fi | ||
381 | done | ||
382 | fi | ||
383 | if test "X$found_dir" != "X"; then | ||
384 | dnl Found the library. | ||
385 | LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" | ||
386 | if test "X$found_so" != "X"; then | ||
387 | dnl Linking with a shared library. We attempt to hardcode its | ||
388 | dnl directory into the executable's runpath, unless it's the | ||
389 | dnl standard /usr/lib. | ||
390 | if test "$enable_rpath" = no \ | ||
391 | || test "X$found_dir" = "X/usr/$acl_libdirstem" \ | ||
392 | || test "X$found_dir" = "X/usr/$acl_libdirstem2" \ | ||
393 | || test "X$found_dir" = "X/usr/$acl_libdirstem3"; then | ||
394 | dnl No hardcoding is needed. | ||
395 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" | ||
396 | else | ||
397 | dnl Use an explicit option to hardcode DIR into the resulting | ||
398 | dnl binary. | ||
399 | dnl Potentially add DIR to ltrpathdirs. | ||
400 | dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. | ||
401 | haveit= | ||
402 | for x in $ltrpathdirs; do | ||
403 | if test "X$x" = "X$found_dir"; then | ||
404 | haveit=yes | ||
405 | break | ||
406 | fi | ||
407 | done | ||
408 | if test -z "$haveit"; then | ||
409 | ltrpathdirs="$ltrpathdirs $found_dir" | ||
410 | fi | ||
411 | dnl The hardcoding into $LIBNAME is system dependent. | ||
412 | if test "$acl_hardcode_direct" = yes; then | ||
413 | dnl Using DIR/libNAME.so during linking hardcodes DIR into the | ||
414 | dnl resulting binary. | ||
415 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" | ||
416 | else | ||
417 | if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then | ||
418 | dnl Use an explicit option to hardcode DIR into the resulting | ||
419 | dnl binary. | ||
420 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" | ||
421 | dnl Potentially add DIR to rpathdirs. | ||
422 | dnl The rpathdirs will be appended to $LIBNAME at the end. | ||
423 | haveit= | ||
424 | for x in $rpathdirs; do | ||
425 | if test "X$x" = "X$found_dir"; then | ||
426 | haveit=yes | ||
427 | break | ||
428 | fi | ||
429 | done | ||
430 | if test -z "$haveit"; then | ||
431 | rpathdirs="$rpathdirs $found_dir" | ||
432 | fi | ||
433 | else | ||
434 | dnl Rely on "-L$found_dir". | ||
435 | dnl But don't add it if it's already contained in the LDFLAGS | ||
436 | dnl or the already constructed $LIBNAME | ||
437 | haveit= | ||
438 | for x in $LDFLAGS $LIB[]NAME; do | ||
439 | AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||
440 | if test "X$x" = "X-L$found_dir"; then | ||
441 | haveit=yes | ||
442 | break | ||
443 | fi | ||
444 | done | ||
445 | if test -z "$haveit"; then | ||
446 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" | ||
447 | fi | ||
448 | if test "$acl_hardcode_minus_L" != no; then | ||
449 | dnl FIXME: Not sure whether we should use | ||
450 | dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" | ||
451 | dnl here. | ||
452 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" | ||
453 | else | ||
454 | dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH | ||
455 | dnl here, because this doesn't fit in flags passed to the | ||
456 | dnl compiler. So give up. No hardcoding. This affects only | ||
457 | dnl very old systems. | ||
458 | dnl FIXME: Not sure whether we should use | ||
459 | dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" | ||
460 | dnl here. | ||
461 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" | ||
462 | fi | ||
463 | fi | ||
464 | fi | ||
465 | fi | ||
466 | else | ||
467 | if test "X$found_a" != "X"; then | ||
468 | dnl Linking with a static library. | ||
469 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" | ||
470 | else | ||
471 | dnl We shouldn't come here, but anyway it's good to have a | ||
472 | dnl fallback. | ||
473 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" | ||
474 | fi | ||
475 | fi | ||
476 | dnl Assume the include files are nearby. | ||
477 | additional_includedir= | ||
478 | case "$found_dir" in | ||
479 | */$acl_libdirstem | */$acl_libdirstem/) | ||
480 | basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` | ||
481 | if test "$name" = '$1'; then | ||
482 | LIB[]NAME[]_PREFIX="$basedir" | ||
483 | fi | ||
484 | additional_includedir="$basedir/include" | ||
485 | ;; | ||
486 | */$acl_libdirstem2 | */$acl_libdirstem2/) | ||
487 | basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` | ||
488 | if test "$name" = '$1'; then | ||
489 | LIB[]NAME[]_PREFIX="$basedir" | ||
490 | fi | ||
491 | additional_includedir="$basedir/include" | ||
492 | ;; | ||
493 | */$acl_libdirstem3 | */$acl_libdirstem3/) | ||
494 | basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem3/"'*$,,'` | ||
495 | if test "$name" = '$1'; then | ||
496 | LIB[]NAME[]_PREFIX="$basedir" | ||
497 | fi | ||
498 | additional_includedir="$basedir/include" | ||
499 | ;; | ||
500 | esac | ||
501 | if test "X$additional_includedir" != "X"; then | ||
502 | dnl Potentially add $additional_includedir to $INCNAME. | ||
503 | dnl But don't add it | ||
504 | dnl 1. if it's the standard /usr/include, | ||
505 | dnl 2. if it's /usr/local/include and we are using GCC on Linux, | ||
506 | dnl 3. if it's already present in $CPPFLAGS or the already | ||
507 | dnl constructed $INCNAME, | ||
508 | dnl 4. if it doesn't exist as a directory. | ||
509 | if test "X$additional_includedir" != "X/usr/include"; then | ||
510 | haveit= | ||
511 | if test "X$additional_includedir" = "X/usr/local/include"; then | ||
512 | if test -n "$GCC"; then | ||
513 | case $host_os in | ||
514 | linux* | gnu* | k*bsd*-gnu) haveit=yes;; | ||
515 | esac | ||
516 | fi | ||
517 | fi | ||
518 | if test -z "$haveit"; then | ||
519 | for x in $CPPFLAGS $INC[]NAME; do | ||
520 | AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||
521 | if test "X$x" = "X-I$additional_includedir"; then | ||
522 | haveit=yes | ||
523 | break | ||
524 | fi | ||
525 | done | ||
526 | if test -z "$haveit"; then | ||
527 | if test -d "$additional_includedir"; then | ||
528 | dnl Really add $additional_includedir to $INCNAME. | ||
529 | INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" | ||
530 | fi | ||
531 | fi | ||
532 | fi | ||
533 | fi | ||
534 | fi | ||
535 | dnl Look for dependencies. | ||
536 | if test -n "$found_la"; then | ||
537 | dnl Read the .la file. It defines the variables | ||
538 | dnl dlname, library_names, old_library, dependency_libs, current, | ||
539 | dnl age, revision, installed, dlopen, dlpreopen, libdir. | ||
540 | save_libdir="$libdir" | ||
541 | case "$found_la" in | ||
542 | */* | *\\*) . "$found_la" ;; | ||
543 | *) . "./$found_la" ;; | ||
544 | esac | ||
545 | libdir="$save_libdir" | ||
546 | dnl We use only dependency_libs. | ||
547 | for dep in $dependency_libs; do | ||
548 | case "$dep" in | ||
549 | -L*) | ||
550 | dependency_libdir=`echo "X$dep" | sed -e 's/^X-L//'` | ||
551 | dnl Potentially add $dependency_libdir to $LIBNAME and $LTLIBNAME. | ||
552 | dnl But don't add it | ||
553 | dnl 1. if it's the standard /usr/lib, | ||
554 | dnl 2. if it's /usr/local/lib and we are using GCC on Linux, | ||
555 | dnl 3. if it's already present in $LDFLAGS or the already | ||
556 | dnl constructed $LIBNAME, | ||
557 | dnl 4. if it doesn't exist as a directory. | ||
558 | if test "X$dependency_libdir" != "X/usr/$acl_libdirstem" \ | ||
559 | && test "X$dependency_libdir" != "X/usr/$acl_libdirstem2" \ | ||
560 | && test "X$dependency_libdir" != "X/usr/$acl_libdirstem3"; then | ||
561 | haveit= | ||
562 | if test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem" \ | ||
563 | || test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem2" \ | ||
564 | || test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem3"; then | ||
565 | if test -n "$GCC"; then | ||
566 | case $host_os in | ||
567 | linux* | gnu* | k*bsd*-gnu) haveit=yes;; | ||
568 | esac | ||
569 | fi | ||
570 | fi | ||
571 | if test -z "$haveit"; then | ||
572 | haveit= | ||
573 | for x in $LDFLAGS $LIB[]NAME; do | ||
574 | AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||
575 | if test "X$x" = "X-L$dependency_libdir"; then | ||
576 | haveit=yes | ||
577 | break | ||
578 | fi | ||
579 | done | ||
580 | if test -z "$haveit"; then | ||
581 | if test -d "$dependency_libdir"; then | ||
582 | dnl Really add $dependency_libdir to $LIBNAME. | ||
583 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$dependency_libdir" | ||
584 | fi | ||
585 | fi | ||
586 | haveit= | ||
587 | for x in $LDFLAGS $LTLIB[]NAME; do | ||
588 | AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||
589 | if test "X$x" = "X-L$dependency_libdir"; then | ||
590 | haveit=yes | ||
591 | break | ||
592 | fi | ||
593 | done | ||
594 | if test -z "$haveit"; then | ||
595 | if test -d "$dependency_libdir"; then | ||
596 | dnl Really add $dependency_libdir to $LTLIBNAME. | ||
597 | LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$dependency_libdir" | ||
598 | fi | ||
599 | fi | ||
600 | fi | ||
601 | fi | ||
602 | ;; | ||
603 | -R*) | ||
604 | dir=`echo "X$dep" | sed -e 's/^X-R//'` | ||
605 | if test "$enable_rpath" != no; then | ||
606 | dnl Potentially add DIR to rpathdirs. | ||
607 | dnl The rpathdirs will be appended to $LIBNAME at the end. | ||
608 | haveit= | ||
609 | for x in $rpathdirs; do | ||
610 | if test "X$x" = "X$dir"; then | ||
611 | haveit=yes | ||
612 | break | ||
613 | fi | ||
614 | done | ||
615 | if test -z "$haveit"; then | ||
616 | rpathdirs="$rpathdirs $dir" | ||
617 | fi | ||
618 | dnl Potentially add DIR to ltrpathdirs. | ||
619 | dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. | ||
620 | haveit= | ||
621 | for x in $ltrpathdirs; do | ||
622 | if test "X$x" = "X$dir"; then | ||
623 | haveit=yes | ||
624 | break | ||
625 | fi | ||
626 | done | ||
627 | if test -z "$haveit"; then | ||
628 | ltrpathdirs="$ltrpathdirs $dir" | ||
629 | fi | ||
630 | fi | ||
631 | ;; | ||
632 | -l*) | ||
633 | dnl Handle this in the next round. | ||
634 | dnl But on GNU systems, ignore -lc options, because | ||
635 | dnl - linking with libc is the default anyway, | ||
636 | dnl - linking with libc.a may produce an error | ||
637 | dnl "/usr/bin/ld: dynamic STT_GNU_IFUNC symbol `strcmp' with pointer equality in `/usr/lib/libc.a(strcmp.o)' can not be used when making an executable; recompile with -fPIE and relink with -pie" | ||
638 | dnl or may produce an executable that always crashes, see | ||
639 | dnl <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00052.html>. | ||
640 | dep=`echo "X$dep" | sed -e 's/^X-l//'` | ||
641 | if test "X$dep" != Xc \ | ||
642 | || case $host_os in | ||
643 | linux* | gnu* | k*bsd*-gnu) false ;; | ||
644 | *) true ;; | ||
645 | esac; then | ||
646 | names_next_round="$names_next_round $dep" | ||
647 | fi | ||
648 | ;; | ||
649 | *.la) | ||
650 | dnl Handle this in the next round. Throw away the .la's | ||
651 | dnl directory; it is already contained in a preceding -L | ||
652 | dnl option. | ||
653 | names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` | ||
654 | ;; | ||
655 | *) | ||
656 | dnl Most likely an immediate library name. | ||
657 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" | ||
658 | LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" | ||
659 | ;; | ||
660 | esac | ||
661 | done | ||
662 | fi | ||
663 | else | ||
664 | dnl Didn't find the library; assume it is in the system directories | ||
665 | dnl known to the linker and runtime loader. (All the system | ||
666 | dnl directories known to the linker should also be known to the | ||
667 | dnl runtime loader, otherwise the system is severely misconfigured.) | ||
668 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" | ||
669 | LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" | ||
670 | fi | ||
671 | fi | ||
672 | fi | ||
673 | done | ||
674 | done | ||
675 | if test "X$rpathdirs" != "X"; then | ||
676 | if test -n "$acl_hardcode_libdir_separator"; then | ||
677 | dnl Weird platform: only the last -rpath option counts, the user must | ||
678 | dnl pass all path elements in one option. We can arrange that for a | ||
679 | dnl single library, but not when more than one $LIBNAMEs are used. | ||
680 | alldirs= | ||
681 | for found_dir in $rpathdirs; do | ||
682 | alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" | ||
683 | done | ||
684 | dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. | ||
685 | acl_save_libdir="$libdir" | ||
686 | libdir="$alldirs" | ||
687 | eval flag=\"$acl_hardcode_libdir_flag_spec\" | ||
688 | libdir="$acl_save_libdir" | ||
689 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" | ||
690 | else | ||
691 | dnl The -rpath options are cumulative. | ||
692 | for found_dir in $rpathdirs; do | ||
693 | acl_save_libdir="$libdir" | ||
694 | libdir="$found_dir" | ||
695 | eval flag=\"$acl_hardcode_libdir_flag_spec\" | ||
696 | libdir="$acl_save_libdir" | ||
697 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" | ||
698 | done | ||
699 | fi | ||
700 | fi | ||
701 | if test "X$ltrpathdirs" != "X"; then | ||
702 | dnl When using libtool, the option that works for both libraries and | ||
703 | dnl executables is -R. The -R options are cumulative. | ||
704 | for found_dir in $ltrpathdirs; do | ||
705 | LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" | ||
706 | done | ||
707 | fi | ||
708 | popdef([PACKLIBS]) | ||
709 | popdef([PACKUP]) | ||
710 | popdef([PACK]) | ||
711 | popdef([NAME]) | ||
712 | ]) | ||
713 | |||
714 | dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, | ||
715 | dnl unless already present in VAR. | ||
716 | dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes | ||
717 | dnl contains two or three consecutive elements that belong together. | ||
718 | AC_DEFUN([AC_LIB_APPENDTOVAR], | ||
719 | [ | ||
720 | for element in [$2]; do | ||
721 | haveit= | ||
722 | for x in $[$1]; do | ||
723 | AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||
724 | if test "X$x" = "X$element"; then | ||
725 | haveit=yes | ||
726 | break | ||
727 | fi | ||
728 | done | ||
729 | if test -z "$haveit"; then | ||
730 | [$1]="${[$1]}${[$1]:+ }$element" | ||
731 | fi | ||
732 | done | ||
733 | ]) | ||
734 | |||
735 | dnl For those cases where a variable contains several -L and -l options | ||
736 | dnl referring to unknown libraries and directories, this macro determines the | ||
737 | dnl necessary additional linker options for the runtime path. | ||
738 | dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) | ||
739 | dnl sets LDADDVAR to linker options needed together with LIBSVALUE. | ||
740 | dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, | ||
741 | dnl otherwise linking without libtool is assumed. | ||
742 | AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], | ||
743 | [ | ||
744 | AC_REQUIRE([AC_LIB_RPATH]) | ||
745 | AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) | ||
746 | $1= | ||
747 | if test "$enable_rpath" != no; then | ||
748 | if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then | ||
749 | dnl Use an explicit option to hardcode directories into the resulting | ||
750 | dnl binary. | ||
751 | rpathdirs= | ||
752 | next= | ||
753 | for opt in $2; do | ||
754 | if test -n "$next"; then | ||
755 | dir="$next" | ||
756 | dnl No need to hardcode the standard /usr/lib. | ||
757 | if test "X$dir" != "X/usr/$acl_libdirstem" \ | ||
758 | && test "X$dir" != "X/usr/$acl_libdirstem2" \ | ||
759 | && test "X$dir" != "X/usr/$acl_libdirstem3"; then | ||
760 | rpathdirs="$rpathdirs $dir" | ||
761 | fi | ||
762 | next= | ||
763 | else | ||
764 | case $opt in | ||
765 | -L) next=yes ;; | ||
766 | -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` | ||
767 | dnl No need to hardcode the standard /usr/lib. | ||
768 | if test "X$dir" != "X/usr/$acl_libdirstem" \ | ||
769 | && test "X$dir" != "X/usr/$acl_libdirstem2" \ | ||
770 | && test "X$dir" != "X/usr/$acl_libdirstem3"; then | ||
771 | rpathdirs="$rpathdirs $dir" | ||
772 | fi | ||
773 | next= ;; | ||
774 | *) next= ;; | ||
775 | esac | ||
776 | fi | ||
777 | done | ||
778 | if test "X$rpathdirs" != "X"; then | ||
779 | if test -n ""$3""; then | ||
780 | dnl libtool is used for linking. Use -R options. | ||
781 | for dir in $rpathdirs; do | ||
782 | $1="${$1}${$1:+ }-R$dir" | ||
783 | done | ||
784 | else | ||
785 | dnl The linker is used for linking directly. | ||
786 | if test -n "$acl_hardcode_libdir_separator"; then | ||
787 | dnl Weird platform: only the last -rpath option counts, the user | ||
788 | dnl must pass all path elements in one option. | ||
789 | alldirs= | ||
790 | for dir in $rpathdirs; do | ||
791 | alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" | ||
792 | done | ||
793 | acl_save_libdir="$libdir" | ||
794 | libdir="$alldirs" | ||
795 | eval flag=\"$acl_hardcode_libdir_flag_spec\" | ||
796 | libdir="$acl_save_libdir" | ||
797 | $1="$flag" | ||
798 | else | ||
799 | dnl The -rpath options are cumulative. | ||
800 | for dir in $rpathdirs; do | ||
801 | acl_save_libdir="$libdir" | ||
802 | libdir="$dir" | ||
803 | eval flag=\"$acl_hardcode_libdir_flag_spec\" | ||
804 | libdir="$acl_save_libdir" | ||
805 | $1="${$1}${$1:+ }$flag" | ||
806 | done | ||
807 | fi | ||
808 | fi | ||
809 | fi | ||
810 | fi | ||
811 | fi | ||
812 | AC_SUBST([$1]) | ||
813 | ]) | ||
diff --git a/gl/m4/lib-prefix.m4 b/gl/m4/lib-prefix.m4 deleted file mode 100644 index aefe7f71..00000000 --- a/gl/m4/lib-prefix.m4 +++ /dev/null | |||
@@ -1,323 +0,0 @@ | |||
1 | # lib-prefix.m4 serial 20 | ||
2 | dnl Copyright (C) 2001-2005, 2008-2023 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | dnl gives unlimited permission to copy and/or distribute it, | ||
5 | dnl with or without modifications, as long as this notice is preserved. | ||
6 | |||
7 | dnl From Bruno Haible. | ||
8 | |||
9 | dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed | ||
10 | dnl to access previously installed libraries. The basic assumption is that | ||
11 | dnl a user will want packages to use other packages he previously installed | ||
12 | dnl with the same --prefix option. | ||
13 | dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate | ||
14 | dnl libraries, but is otherwise very convenient. | ||
15 | AC_DEFUN([AC_LIB_PREFIX], | ||
16 | [ | ||
17 | AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) | ||
18 | AC_REQUIRE([AC_PROG_CC]) | ||
19 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
20 | AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) | ||
21 | AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) | ||
22 | dnl By default, look in $includedir and $libdir. | ||
23 | use_additional=yes | ||
24 | AC_LIB_WITH_FINAL_PREFIX([ | ||
25 | eval additional_includedir=\"$includedir\" | ||
26 | eval additional_libdir=\"$libdir\" | ||
27 | ]) | ||
28 | AC_ARG_WITH([lib-prefix], | ||
29 | [[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib | ||
30 | --without-lib-prefix don't search for libraries in includedir and libdir]], | ||
31 | [ | ||
32 | if test "X$withval" = "Xno"; then | ||
33 | use_additional=no | ||
34 | else | ||
35 | if test "X$withval" = "X"; then | ||
36 | AC_LIB_WITH_FINAL_PREFIX([ | ||
37 | eval additional_includedir=\"$includedir\" | ||
38 | eval additional_libdir=\"$libdir\" | ||
39 | ]) | ||
40 | else | ||
41 | additional_includedir="$withval/include" | ||
42 | additional_libdir="$withval/$acl_libdirstem" | ||
43 | fi | ||
44 | fi | ||
45 | ]) | ||
46 | if test $use_additional = yes; then | ||
47 | dnl Potentially add $additional_includedir to $CPPFLAGS. | ||
48 | dnl But don't add it | ||
49 | dnl 1. if it's the standard /usr/include, | ||
50 | dnl 2. if it's already present in $CPPFLAGS, | ||
51 | dnl 3. if it's /usr/local/include and we are using GCC on Linux, | ||
52 | dnl 4. if it doesn't exist as a directory. | ||
53 | if test "X$additional_includedir" != "X/usr/include"; then | ||
54 | haveit= | ||
55 | for x in $CPPFLAGS; do | ||
56 | AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||
57 | if test "X$x" = "X-I$additional_includedir"; then | ||
58 | haveit=yes | ||
59 | break | ||
60 | fi | ||
61 | done | ||
62 | if test -z "$haveit"; then | ||
63 | if test "X$additional_includedir" = "X/usr/local/include"; then | ||
64 | if test -n "$GCC"; then | ||
65 | case $host_os in | ||
66 | linux* | gnu* | k*bsd*-gnu) haveit=yes;; | ||
67 | esac | ||
68 | fi | ||
69 | fi | ||
70 | if test -z "$haveit"; then | ||
71 | if test -d "$additional_includedir"; then | ||
72 | dnl Really add $additional_includedir to $CPPFLAGS. | ||
73 | CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" | ||
74 | fi | ||
75 | fi | ||
76 | fi | ||
77 | fi | ||
78 | dnl Potentially add $additional_libdir to $LDFLAGS. | ||
79 | dnl But don't add it | ||
80 | dnl 1. if it's the standard /usr/lib, | ||
81 | dnl 2. if it's already present in $LDFLAGS, | ||
82 | dnl 3. if it's /usr/local/lib and we are using GCC on Linux, | ||
83 | dnl 4. if it doesn't exist as a directory. | ||
84 | if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then | ||
85 | haveit= | ||
86 | for x in $LDFLAGS; do | ||
87 | AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||
88 | if test "X$x" = "X-L$additional_libdir"; then | ||
89 | haveit=yes | ||
90 | break | ||
91 | fi | ||
92 | done | ||
93 | if test -z "$haveit"; then | ||
94 | if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then | ||
95 | if test -n "$GCC"; then | ||
96 | case $host_os in | ||
97 | linux*) haveit=yes;; | ||
98 | esac | ||
99 | fi | ||
100 | fi | ||
101 | if test -z "$haveit"; then | ||
102 | if test -d "$additional_libdir"; then | ||
103 | dnl Really add $additional_libdir to $LDFLAGS. | ||
104 | LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" | ||
105 | fi | ||
106 | fi | ||
107 | fi | ||
108 | fi | ||
109 | fi | ||
110 | ]) | ||
111 | |||
112 | dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, | ||
113 | dnl acl_final_exec_prefix, containing the values to which $prefix and | ||
114 | dnl $exec_prefix will expand at the end of the configure script. | ||
115 | AC_DEFUN([AC_LIB_PREPARE_PREFIX], | ||
116 | [ | ||
117 | dnl Unfortunately, prefix and exec_prefix get only finally determined | ||
118 | dnl at the end of configure. | ||
119 | if test "X$prefix" = "XNONE"; then | ||
120 | acl_final_prefix="$ac_default_prefix" | ||
121 | else | ||
122 | acl_final_prefix="$prefix" | ||
123 | fi | ||
124 | if test "X$exec_prefix" = "XNONE"; then | ||
125 | acl_final_exec_prefix='${prefix}' | ||
126 | else | ||
127 | acl_final_exec_prefix="$exec_prefix" | ||
128 | fi | ||
129 | acl_save_prefix="$prefix" | ||
130 | prefix="$acl_final_prefix" | ||
131 | eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" | ||
132 | prefix="$acl_save_prefix" | ||
133 | ]) | ||
134 | |||
135 | dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the | ||
136 | dnl variables prefix and exec_prefix bound to the values they will have | ||
137 | dnl at the end of the configure script. | ||
138 | AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], | ||
139 | [ | ||
140 | acl_save_prefix="$prefix" | ||
141 | prefix="$acl_final_prefix" | ||
142 | acl_save_exec_prefix="$exec_prefix" | ||
143 | exec_prefix="$acl_final_exec_prefix" | ||
144 | $1 | ||
145 | exec_prefix="$acl_save_exec_prefix" | ||
146 | prefix="$acl_save_prefix" | ||
147 | ]) | ||
148 | |||
149 | dnl AC_LIB_PREPARE_MULTILIB creates | ||
150 | dnl - a function acl_is_expected_elfclass, that tests whether standard input | ||
151 | dn; has a 32-bit or 64-bit ELF header, depending on the host CPU ABI, | ||
152 | dnl - 3 variables acl_libdirstem, acl_libdirstem2, acl_libdirstem3, containing | ||
153 | dnl the basename of the libdir to try in turn, either "lib" or "lib64" or | ||
154 | dnl "lib/64" or "lib32" or "lib/sparcv9" or "lib/amd64" or similar. | ||
155 | AC_DEFUN([AC_LIB_PREPARE_MULTILIB], | ||
156 | [ | ||
157 | dnl There is no formal standard regarding lib, lib32, and lib64. | ||
158 | dnl On most glibc systems, the current practice is that on a system supporting | ||
159 | dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under | ||
160 | dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. However, on | ||
161 | dnl Arch Linux based distributions, it's the opposite: 32-bit libraries go | ||
162 | dnl under $prefix/lib32 and 64-bit libraries go under $prefix/lib. | ||
163 | dnl We determine the compiler's default mode by looking at the compiler's | ||
164 | dnl library search path. If at least one of its elements ends in /lib64 or | ||
165 | dnl points to a directory whose absolute pathname ends in /lib64, we use that | ||
166 | dnl for 64-bit ABIs. Similarly for 32-bit ABIs. Otherwise we use the default, | ||
167 | dnl namely "lib". | ||
168 | dnl On Solaris systems, the current practice is that on a system supporting | ||
169 | dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under | ||
170 | dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or | ||
171 | dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. | ||
172 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
173 | AC_REQUIRE([gl_HOST_CPU_C_ABI_32BIT]) | ||
174 | |||
175 | AC_CACHE_CHECK([for ELF binary format], [gl_cv_elf], | ||
176 | [AC_EGREP_CPP([Extensible Linking Format], | ||
177 | [#if defined __ELF__ || (defined __linux__ && defined __EDG__) | ||
178 | Extensible Linking Format | ||
179 | #endif | ||
180 | ], | ||
181 | [gl_cv_elf=yes], | ||
182 | [gl_cv_elf=no]) | ||
183 | ]) | ||
184 | if test $gl_cv_elf = yes; then | ||
185 | # Extract the ELF class of a file (5th byte) in decimal. | ||
186 | # Cf. https://en.wikipedia.org/wiki/Executable_and_Linkable_Format#File_header | ||
187 | if od -A x < /dev/null >/dev/null 2>/dev/null; then | ||
188 | # Use POSIX od. | ||
189 | func_elfclass () | ||
190 | { | ||
191 | od -A n -t d1 -j 4 -N 1 | ||
192 | } | ||
193 | else | ||
194 | # Use BSD hexdump. | ||
195 | func_elfclass () | ||
196 | { | ||
197 | dd bs=1 count=1 skip=4 2>/dev/null | hexdump -e '1/1 "%3d "' | ||
198 | echo | ||
199 | } | ||
200 | fi | ||
201 | # Use 'expr', not 'test', to compare the values of func_elfclass, because on | ||
202 | # Solaris 11 OpenIndiana and Solaris 11 OmniOS, the result is 001 or 002, | ||
203 | # not 1 or 2. | ||
204 | changequote(,)dnl | ||
205 | case $HOST_CPU_C_ABI_32BIT in | ||
206 | yes) | ||
207 | # 32-bit ABI. | ||
208 | acl_is_expected_elfclass () | ||
209 | { | ||
210 | expr "`func_elfclass | sed -e 's/[ ]//g'`" = 1 > /dev/null | ||
211 | } | ||
212 | ;; | ||
213 | no) | ||
214 | # 64-bit ABI. | ||
215 | acl_is_expected_elfclass () | ||
216 | { | ||
217 | expr "`func_elfclass | sed -e 's/[ ]//g'`" = 2 > /dev/null | ||
218 | } | ||
219 | ;; | ||
220 | *) | ||
221 | # Unknown. | ||
222 | acl_is_expected_elfclass () | ||
223 | { | ||
224 | : | ||
225 | } | ||
226 | ;; | ||
227 | esac | ||
228 | changequote([,])dnl | ||
229 | else | ||
230 | acl_is_expected_elfclass () | ||
231 | { | ||
232 | : | ||
233 | } | ||
234 | fi | ||
235 | |||
236 | dnl Allow the user to override the result by setting acl_cv_libdirstems. | ||
237 | AC_CACHE_CHECK([for the common suffixes of directories in the library search path], | ||
238 | [acl_cv_libdirstems], | ||
239 | [dnl Try 'lib' first, because that's the default for libdir in GNU, see | ||
240 | dnl <https://www.gnu.org/prep/standards/html_node/Directory-Variables.html>. | ||
241 | acl_libdirstem=lib | ||
242 | acl_libdirstem2= | ||
243 | acl_libdirstem3= | ||
244 | case "$host_os" in | ||
245 | solaris*) | ||
246 | dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment | ||
247 | dnl <https://docs.oracle.com/cd/E19253-01/816-5138/dev-env/index.html>. | ||
248 | dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." | ||
249 | dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the | ||
250 | dnl symlink is missing, so we set acl_libdirstem2 too. | ||
251 | if test $HOST_CPU_C_ABI_32BIT = no; then | ||
252 | acl_libdirstem2=lib/64 | ||
253 | case "$host_cpu" in | ||
254 | sparc*) acl_libdirstem3=lib/sparcv9 ;; | ||
255 | i*86 | x86_64) acl_libdirstem3=lib/amd64 ;; | ||
256 | esac | ||
257 | fi | ||
258 | ;; | ||
259 | *) | ||
260 | dnl If $CC generates code for a 32-bit ABI, the libraries are | ||
261 | dnl surely under $prefix/lib or $prefix/lib32, not $prefix/lib64. | ||
262 | dnl Similarly, if $CC generates code for a 64-bit ABI, the libraries | ||
263 | dnl are surely under $prefix/lib or $prefix/lib64, not $prefix/lib32. | ||
264 | dnl Find the compiler's search path. However, non-system compilers | ||
265 | dnl sometimes have odd library search paths. But we can't simply invoke | ||
266 | dnl '/usr/bin/gcc -print-search-dirs' because that would not take into | ||
267 | dnl account the -m32/-m31 or -m64 options from the $CC or $CFLAGS. | ||
268 | searchpath=`(LC_ALL=C $CC $CPPFLAGS $CFLAGS -print-search-dirs) 2>/dev/null \ | ||
269 | | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` | ||
270 | if test $HOST_CPU_C_ABI_32BIT != no; then | ||
271 | # 32-bit or unknown ABI. | ||
272 | if test -d /usr/lib32; then | ||
273 | acl_libdirstem2=lib32 | ||
274 | fi | ||
275 | fi | ||
276 | if test $HOST_CPU_C_ABI_32BIT != yes; then | ||
277 | # 64-bit or unknown ABI. | ||
278 | if test -d /usr/lib64; then | ||
279 | acl_libdirstem3=lib64 | ||
280 | fi | ||
281 | fi | ||
282 | if test -n "$searchpath"; then | ||
283 | acl_save_IFS="${IFS= }"; IFS=":" | ||
284 | for searchdir in $searchpath; do | ||
285 | if test -d "$searchdir"; then | ||
286 | case "$searchdir" in | ||
287 | */lib32/ | */lib32 ) acl_libdirstem2=lib32 ;; | ||
288 | */lib64/ | */lib64 ) acl_libdirstem3=lib64 ;; | ||
289 | */../ | */.. ) | ||
290 | # Better ignore directories of this form. They are misleading. | ||
291 | ;; | ||
292 | *) searchdir=`cd "$searchdir" && pwd` | ||
293 | case "$searchdir" in | ||
294 | */lib32 ) acl_libdirstem2=lib32 ;; | ||
295 | */lib64 ) acl_libdirstem3=lib64 ;; | ||
296 | esac ;; | ||
297 | esac | ||
298 | fi | ||
299 | done | ||
300 | IFS="$acl_save_IFS" | ||
301 | if test $HOST_CPU_C_ABI_32BIT = yes; then | ||
302 | # 32-bit ABI. | ||
303 | acl_libdirstem3= | ||
304 | fi | ||
305 | if test $HOST_CPU_C_ABI_32BIT = no; then | ||
306 | # 64-bit ABI. | ||
307 | acl_libdirstem2= | ||
308 | fi | ||
309 | fi | ||
310 | ;; | ||
311 | esac | ||
312 | test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" | ||
313 | test -n "$acl_libdirstem3" || acl_libdirstem3="$acl_libdirstem" | ||
314 | acl_cv_libdirstems="$acl_libdirstem,$acl_libdirstem2,$acl_libdirstem3" | ||
315 | ]) | ||
316 | dnl Decompose acl_cv_libdirstems into acl_libdirstem, acl_libdirstem2, and | ||
317 | dnl acl_libdirstem3. | ||
318 | changequote(,)dnl | ||
319 | acl_libdirstem=`echo "$acl_cv_libdirstems" | sed -e 's/,.*//'` | ||
320 | acl_libdirstem2=`echo "$acl_cv_libdirstems" | sed -e 's/^[^,]*,//' -e 's/,.*//'` | ||
321 | acl_libdirstem3=`echo "$acl_cv_libdirstems" | sed -e 's/^[^,]*,[^,]*,//' -e 's/,.*//'` | ||
322 | changequote([,])dnl | ||
323 | ]) | ||
diff --git a/gl/m4/nls.m4 b/gl/m4/nls.m4 deleted file mode 100644 index 65724481..00000000 --- a/gl/m4/nls.m4 +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | # nls.m4 serial 6 (gettext-0.20.2) | ||
2 | dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016, 2019-2023 Free | ||
3 | dnl 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 | dnl | ||
8 | dnl This file can be used in projects which are not available under | ||
9 | dnl the GNU General Public License or the GNU Lesser General Public | ||
10 | dnl License but which still want to provide support for the GNU gettext | ||
11 | dnl functionality. | ||
12 | dnl Please note that the actual code of the GNU gettext library is covered | ||
13 | dnl by the GNU Lesser General Public License, and the rest of the GNU | ||
14 | dnl gettext package is covered by the GNU General Public License. | ||
15 | dnl They are *not* in the public domain. | ||
16 | |||
17 | dnl Authors: | ||
18 | dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000. | ||
19 | dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003. | ||
20 | |||
21 | AC_PREREQ([2.50]) | ||
22 | |||
23 | AC_DEFUN([AM_NLS], | ||
24 | [ | ||
25 | AC_MSG_CHECKING([whether NLS is requested]) | ||
26 | dnl Default is enabled NLS | ||
27 | AC_ARG_ENABLE([nls], | ||
28 | [ --disable-nls do not use Native Language Support], | ||
29 | USE_NLS=$enableval, USE_NLS=yes) | ||
30 | AC_MSG_RESULT([$USE_NLS]) | ||
31 | AC_SUBST([USE_NLS]) | ||
32 | ]) | ||
diff --git a/gl/m4/po.m4 b/gl/m4/po.m4 deleted file mode 100644 index 26a5a6f5..00000000 --- a/gl/m4/po.m4 +++ /dev/null | |||
@@ -1,450 +0,0 @@ | |||
1 | # po.m4 serial 31 (gettext-0.20.2) | ||
2 | dnl Copyright (C) 1995-2014, 2016, 2018-2023 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | 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 | ||
7 | dnl This file can be used in projects which are not available under | ||
8 | dnl the GNU General Public License or the GNU Lesser General Public | ||
9 | dnl License but which still want to provide support for the GNU gettext | ||
10 | dnl functionality. | ||
11 | dnl Please note that the actual code of the GNU gettext library is covered | ||
12 | dnl by the GNU Lesser General Public License, and the rest of the GNU | ||
13 | dnl gettext package is covered by the GNU General Public License. | ||
14 | dnl They are *not* in the public domain. | ||
15 | |||
16 | dnl Authors: | ||
17 | dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000. | ||
18 | dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003. | ||
19 | |||
20 | AC_PREREQ([2.60]) | ||
21 | |||
22 | dnl Checks for all prerequisites of the po subdirectory. | ||
23 | AC_DEFUN([AM_PO_SUBDIRS], | ||
24 | [ | ||
25 | AC_REQUIRE([AC_PROG_MAKE_SET])dnl | ||
26 | AC_REQUIRE([AC_PROG_INSTALL])dnl | ||
27 | AC_REQUIRE([AC_PROG_MKDIR_P])dnl | ||
28 | AC_REQUIRE([AC_PROG_SED])dnl | ||
29 | AC_REQUIRE([AM_NLS])dnl | ||
30 | |||
31 | dnl Release version of the gettext macros. This is used to ensure that | ||
32 | dnl the gettext macros and po/Makefile.in.in are in sync. | ||
33 | AC_SUBST([GETTEXT_MACRO_VERSION], [0.20]) | ||
34 | |||
35 | dnl Perform the following tests also if --disable-nls has been given, | ||
36 | dnl because they are needed for "make dist" to work. | ||
37 | |||
38 | dnl Search for GNU msgfmt in the PATH. | ||
39 | dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. | ||
40 | dnl The second test excludes FreeBSD msgfmt. | ||
41 | AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, | ||
42 | [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && | ||
43 | (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], | ||
44 | :) | ||
45 | AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT]) | ||
46 | |||
47 | dnl Test whether it is GNU msgfmt >= 0.15. | ||
48 | changequote(,)dnl | ||
49 | case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in | ||
50 | '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; | ||
51 | *) GMSGFMT_015=$GMSGFMT ;; | ||
52 | esac | ||
53 | changequote([,])dnl | ||
54 | AC_SUBST([GMSGFMT_015]) | ||
55 | |||
56 | dnl Search for GNU xgettext 0.12 or newer in the PATH. | ||
57 | dnl The first test excludes Solaris xgettext and early GNU xgettext versions. | ||
58 | dnl The second test excludes FreeBSD xgettext. | ||
59 | AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, | ||
60 | [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && | ||
61 | (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], | ||
62 | :) | ||
63 | dnl Remove leftover from FreeBSD xgettext call. | ||
64 | rm -f messages.po | ||
65 | |||
66 | dnl Test whether it is GNU xgettext >= 0.15. | ||
67 | changequote(,)dnl | ||
68 | case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in | ||
69 | '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; | ||
70 | *) XGETTEXT_015=$XGETTEXT ;; | ||
71 | esac | ||
72 | changequote([,])dnl | ||
73 | AC_SUBST([XGETTEXT_015]) | ||
74 | |||
75 | dnl Search for GNU msgmerge 0.11 or newer in the PATH. | ||
76 | AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, | ||
77 | [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) | ||
78 | |||
79 | dnl Test whether it is GNU msgmerge >= 0.20. | ||
80 | if LC_ALL=C $MSGMERGE --help | grep ' --for-msgfmt ' >/dev/null; then | ||
81 | MSGMERGE_FOR_MSGFMT_OPTION='--for-msgfmt' | ||
82 | else | ||
83 | dnl Test whether it is GNU msgmerge >= 0.12. | ||
84 | if LC_ALL=C $MSGMERGE --help | grep ' --no-fuzzy-matching ' >/dev/null; then | ||
85 | MSGMERGE_FOR_MSGFMT_OPTION='--no-fuzzy-matching --no-location --quiet' | ||
86 | else | ||
87 | dnl With these old versions, $(MSGMERGE) $(MSGMERGE_FOR_MSGFMT_OPTION) is | ||
88 | dnl slow. But this is not a big problem, as such old gettext versions are | ||
89 | dnl hardly in use any more. | ||
90 | MSGMERGE_FOR_MSGFMT_OPTION='--no-location --quiet' | ||
91 | fi | ||
92 | fi | ||
93 | AC_SUBST([MSGMERGE_FOR_MSGFMT_OPTION]) | ||
94 | |||
95 | dnl Support for AM_XGETTEXT_OPTION. | ||
96 | test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= | ||
97 | AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) | ||
98 | |||
99 | AC_CONFIG_COMMANDS([po-directories], [[ | ||
100 | for ac_file in $CONFIG_FILES; do | ||
101 | # Support "outfile[:infile[:infile...]]" | ||
102 | case "$ac_file" in | ||
103 | *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; | ||
104 | esac | ||
105 | # PO directories have a Makefile.in generated from Makefile.in.in. | ||
106 | case "$ac_file" in */Makefile.in) | ||
107 | # Adjust a relative srcdir. | ||
108 | ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` | ||
109 | ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` | ||
110 | ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` | ||
111 | # In autoconf-2.13 it is called $ac_given_srcdir. | ||
112 | # In autoconf-2.50 it is called $srcdir. | ||
113 | test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" | ||
114 | case "$ac_given_srcdir" in | ||
115 | .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; | ||
116 | /*) top_srcdir="$ac_given_srcdir" ;; | ||
117 | *) top_srcdir="$ac_dots$ac_given_srcdir" ;; | ||
118 | esac | ||
119 | # Treat a directory as a PO directory if and only if it has a | ||
120 | # POTFILES.in file. This allows packages to have multiple PO | ||
121 | # directories under different names or in different locations. | ||
122 | if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then | ||
123 | rm -f "$ac_dir/POTFILES" | ||
124 | test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" | ||
125 | gt_tab=`printf '\t'` | ||
126 | cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" | ||
127 | POMAKEFILEDEPS="POTFILES.in" | ||
128 | # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend | ||
129 | # on $ac_dir but don't depend on user-specified configuration | ||
130 | # parameters. | ||
131 | if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then | ||
132 | # The LINGUAS file contains the set of available languages. | ||
133 | if test -n "$OBSOLETE_ALL_LINGUAS"; then | ||
134 | test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" | ||
135 | fi | ||
136 | ALL_LINGUAS=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` | ||
137 | POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" | ||
138 | else | ||
139 | # The set of available languages was given in configure.in. | ||
140 | ALL_LINGUAS=$OBSOLETE_ALL_LINGUAS | ||
141 | fi | ||
142 | # Compute POFILES | ||
143 | # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) | ||
144 | # Compute UPDATEPOFILES | ||
145 | # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) | ||
146 | # Compute DUMMYPOFILES | ||
147 | # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) | ||
148 | # Compute GMOFILES | ||
149 | # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) | ||
150 | case "$ac_given_srcdir" in | ||
151 | .) srcdirpre= ;; | ||
152 | *) srcdirpre='$(srcdir)/' ;; | ||
153 | esac | ||
154 | POFILES= | ||
155 | UPDATEPOFILES= | ||
156 | DUMMYPOFILES= | ||
157 | GMOFILES= | ||
158 | for lang in $ALL_LINGUAS; do | ||
159 | POFILES="$POFILES $srcdirpre$lang.po" | ||
160 | UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" | ||
161 | DUMMYPOFILES="$DUMMYPOFILES $lang.nop" | ||
162 | GMOFILES="$GMOFILES $srcdirpre$lang.gmo" | ||
163 | done | ||
164 | # CATALOGS depends on both $ac_dir and the user's LINGUAS | ||
165 | # environment variable. | ||
166 | INST_LINGUAS= | ||
167 | if test -n "$ALL_LINGUAS"; then | ||
168 | for presentlang in $ALL_LINGUAS; do | ||
169 | useit=no | ||
170 | if test "%UNSET%" != "$LINGUAS"; then | ||
171 | desiredlanguages="$LINGUAS" | ||
172 | else | ||
173 | desiredlanguages="$ALL_LINGUAS" | ||
174 | fi | ||
175 | for desiredlang in $desiredlanguages; do | ||
176 | # Use the presentlang catalog if desiredlang is | ||
177 | # a. equal to presentlang, or | ||
178 | # b. a variant of presentlang (because in this case, | ||
179 | # presentlang can be used as a fallback for messages | ||
180 | # which are not translated in the desiredlang catalog). | ||
181 | case "$desiredlang" in | ||
182 | "$presentlang"*) useit=yes;; | ||
183 | esac | ||
184 | done | ||
185 | if test $useit = yes; then | ||
186 | INST_LINGUAS="$INST_LINGUAS $presentlang" | ||
187 | fi | ||
188 | done | ||
189 | fi | ||
190 | CATALOGS= | ||
191 | if test -n "$INST_LINGUAS"; then | ||
192 | for lang in $INST_LINGUAS; do | ||
193 | CATALOGS="$CATALOGS $lang.gmo" | ||
194 | done | ||
195 | fi | ||
196 | test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" | ||
197 | sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" | ||
198 | for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do | ||
199 | if test -f "$f"; then | ||
200 | case "$f" in | ||
201 | *.orig | *.bak | *~) ;; | ||
202 | *) cat "$f" >> "$ac_dir/Makefile" ;; | ||
203 | esac | ||
204 | fi | ||
205 | done | ||
206 | fi | ||
207 | ;; | ||
208 | esac | ||
209 | done]], | ||
210 | [# Capture the value of obsolete ALL_LINGUAS because we need it to compute | ||
211 | # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. | ||
212 | OBSOLETE_ALL_LINGUAS="$ALL_LINGUAS" | ||
213 | # Capture the value of LINGUAS because we need it to compute CATALOGS. | ||
214 | LINGUAS="${LINGUAS-%UNSET%}" | ||
215 | ]) | ||
216 | ]) | ||
217 | |||
218 | dnl Postprocesses a Makefile in a directory containing PO files. | ||
219 | AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], | ||
220 | [ | ||
221 | # When this code is run, in config.status, two variables have already been | ||
222 | # set: | ||
223 | # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, | ||
224 | # - LINGUAS is the value of the environment variable LINGUAS at configure | ||
225 | # time. | ||
226 | |||
227 | changequote(,)dnl | ||
228 | # Adjust a relative srcdir. | ||
229 | ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` | ||
230 | ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` | ||
231 | ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` | ||
232 | # In autoconf-2.13 it is called $ac_given_srcdir. | ||
233 | # In autoconf-2.50 it is called $srcdir. | ||
234 | test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" | ||
235 | case "$ac_given_srcdir" in | ||
236 | .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; | ||
237 | /*) top_srcdir="$ac_given_srcdir" ;; | ||
238 | *) top_srcdir="$ac_dots$ac_given_srcdir" ;; | ||
239 | esac | ||
240 | |||
241 | # Find a way to echo strings without interpreting backslash. | ||
242 | if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then | ||
243 | gt_echo='echo' | ||
244 | else | ||
245 | if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then | ||
246 | gt_echo='printf %s\n' | ||
247 | else | ||
248 | echo_func () { | ||
249 | cat <<EOT | ||
250 | $* | ||
251 | EOT | ||
252 | } | ||
253 | gt_echo='echo_func' | ||
254 | fi | ||
255 | fi | ||
256 | |||
257 | # A sed script that extracts the value of VARIABLE from a Makefile. | ||
258 | tab=`printf '\t'` | ||
259 | sed_x_variable=' | ||
260 | # Test if the hold space is empty. | ||
261 | x | ||
262 | s/P/P/ | ||
263 | x | ||
264 | ta | ||
265 | # Yes it was empty. Look if we have the expected variable definition. | ||
266 | /^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=/{ | ||
267 | # Seen the first line of the variable definition. | ||
268 | s/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=// | ||
269 | ba | ||
270 | } | ||
271 | bd | ||
272 | :a | ||
273 | # Here we are processing a line from the variable definition. | ||
274 | # Remove comment, more precisely replace it with a space. | ||
275 | s/#.*$/ / | ||
276 | # See if the line ends in a backslash. | ||
277 | tb | ||
278 | :b | ||
279 | s/\\$// | ||
280 | # Print the line, without the trailing backslash. | ||
281 | p | ||
282 | tc | ||
283 | # There was no trailing backslash. The end of the variable definition is | ||
284 | # reached. Clear the hold space. | ||
285 | s/^.*$// | ||
286 | x | ||
287 | bd | ||
288 | :c | ||
289 | # A trailing backslash means that the variable definition continues in the | ||
290 | # next line. Put a nonempty string into the hold space to indicate this. | ||
291 | s/^.*$/P/ | ||
292 | x | ||
293 | :d | ||
294 | ' | ||
295 | changequote([,])dnl | ||
296 | |||
297 | # Set POTFILES to the value of the Makefile variable POTFILES. | ||
298 | sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'` | ||
299 | POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"` | ||
300 | # Compute POTFILES_DEPS as | ||
301 | # $(foreach file, $(POTFILES), $(top_srcdir)/$(file)) | ||
302 | POTFILES_DEPS= | ||
303 | for file in $POTFILES; do | ||
304 | POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file" | ||
305 | done | ||
306 | POMAKEFILEDEPS="" | ||
307 | |||
308 | if test -n "$OBSOLETE_ALL_LINGUAS"; then | ||
309 | test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" | ||
310 | fi | ||
311 | if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then | ||
312 | # The LINGUAS file contains the set of available languages. | ||
313 | ALL_LINGUAS=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` | ||
314 | POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" | ||
315 | else | ||
316 | # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS. | ||
317 | sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'` | ||
318 | ALL_LINGUAS=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"` | ||
319 | fi | ||
320 | # Compute POFILES | ||
321 | # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) | ||
322 | # Compute UPDATEPOFILES | ||
323 | # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) | ||
324 | # Compute DUMMYPOFILES | ||
325 | # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) | ||
326 | # Compute GMOFILES | ||
327 | # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) | ||
328 | # Compute PROPERTIESFILES | ||
329 | # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(DOMAIN)_$(lang).properties) | ||
330 | # Compute CLASSFILES | ||
331 | # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(DOMAIN)_$(lang).class) | ||
332 | # Compute QMFILES | ||
333 | # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm) | ||
334 | # Compute MSGFILES | ||
335 | # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg) | ||
336 | # Compute RESOURCESDLLFILES | ||
337 | # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll) | ||
338 | case "$ac_given_srcdir" in | ||
339 | .) srcdirpre= ;; | ||
340 | *) srcdirpre='$(srcdir)/' ;; | ||
341 | esac | ||
342 | POFILES= | ||
343 | UPDATEPOFILES= | ||
344 | DUMMYPOFILES= | ||
345 | GMOFILES= | ||
346 | PROPERTIESFILES= | ||
347 | CLASSFILES= | ||
348 | QMFILES= | ||
349 | MSGFILES= | ||
350 | RESOURCESDLLFILES= | ||
351 | for lang in $ALL_LINGUAS; do | ||
352 | POFILES="$POFILES $srcdirpre$lang.po" | ||
353 | UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" | ||
354 | DUMMYPOFILES="$DUMMYPOFILES $lang.nop" | ||
355 | GMOFILES="$GMOFILES $srcdirpre$lang.gmo" | ||
356 | PROPERTIESFILES="$PROPERTIESFILES \$(srcdir)/\$(DOMAIN)_$lang.properties" | ||
357 | CLASSFILES="$CLASSFILES \$(srcdir)/\$(DOMAIN)_$lang.class" | ||
358 | QMFILES="$QMFILES $srcdirpre$lang.qm" | ||
359 | frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` | ||
360 | MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg" | ||
361 | frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` | ||
362 | RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll" | ||
363 | done | ||
364 | # CATALOGS depends on both $ac_dir and the user's LINGUAS | ||
365 | # environment variable. | ||
366 | INST_LINGUAS= | ||
367 | if test -n "$ALL_LINGUAS"; then | ||
368 | for presentlang in $ALL_LINGUAS; do | ||
369 | useit=no | ||
370 | if test "%UNSET%" != "$LINGUAS"; then | ||
371 | desiredlanguages="$LINGUAS" | ||
372 | else | ||
373 | desiredlanguages="$ALL_LINGUAS" | ||
374 | fi | ||
375 | for desiredlang in $desiredlanguages; do | ||
376 | # Use the presentlang catalog if desiredlang is | ||
377 | # a. equal to presentlang, or | ||
378 | # b. a variant of presentlang (because in this case, | ||
379 | # presentlang can be used as a fallback for messages | ||
380 | # which are not translated in the desiredlang catalog). | ||
381 | case "$desiredlang" in | ||
382 | "$presentlang"*) useit=yes;; | ||
383 | esac | ||
384 | done | ||
385 | if test $useit = yes; then | ||
386 | INST_LINGUAS="$INST_LINGUAS $presentlang" | ||
387 | fi | ||
388 | done | ||
389 | fi | ||
390 | CATALOGS= | ||
391 | JAVACATALOGS= | ||
392 | QTCATALOGS= | ||
393 | TCLCATALOGS= | ||
394 | CSHARPCATALOGS= | ||
395 | if test -n "$INST_LINGUAS"; then | ||
396 | for lang in $INST_LINGUAS; do | ||
397 | CATALOGS="$CATALOGS $lang.gmo" | ||
398 | JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties" | ||
399 | QTCATALOGS="$QTCATALOGS $lang.qm" | ||
400 | frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` | ||
401 | TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg" | ||
402 | frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` | ||
403 | CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll" | ||
404 | done | ||
405 | fi | ||
406 | |||
407 | sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp" | ||
408 | tab=`printf '\t'` | ||
409 | if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then | ||
410 | # Add dependencies that cannot be formulated as a simple suffix rule. | ||
411 | for lang in $ALL_LINGUAS; do | ||
412 | frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` | ||
413 | cat >> "$ac_file.tmp" <<EOF | ||
414 | $frobbedlang.msg: $lang.po | ||
415 | ${tab}@echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \ | ||
416 | ${tab}\$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; } | ||
417 | EOF | ||
418 | done | ||
419 | fi | ||
420 | if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then | ||
421 | # Add dependencies that cannot be formulated as a simple suffix rule. | ||
422 | for lang in $ALL_LINGUAS; do | ||
423 | frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` | ||
424 | cat >> "$ac_file.tmp" <<EOF | ||
425 | $frobbedlang/\$(DOMAIN).resources.dll: $lang.po | ||
426 | ${tab}@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \ | ||
427 | ${tab}\$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; } | ||
428 | EOF | ||
429 | done | ||
430 | fi | ||
431 | if test -n "$POMAKEFILEDEPS"; then | ||
432 | cat >> "$ac_file.tmp" <<EOF | ||
433 | Makefile: $POMAKEFILEDEPS | ||
434 | EOF | ||
435 | fi | ||
436 | mv "$ac_file.tmp" "$ac_file" | ||
437 | ]) | ||
438 | |||
439 | dnl Initializes the accumulator used by AM_XGETTEXT_OPTION. | ||
440 | AC_DEFUN([AM_XGETTEXT_OPTION_INIT], | ||
441 | [ | ||
442 | XGETTEXT_EXTRA_OPTIONS= | ||
443 | ]) | ||
444 | |||
445 | dnl Registers an option to be passed to xgettext in the po subdirectory. | ||
446 | AC_DEFUN([AM_XGETTEXT_OPTION], | ||
447 | [ | ||
448 | AC_REQUIRE([AM_XGETTEXT_OPTION_INIT]) | ||
449 | XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS $1" | ||
450 | ]) | ||
diff --git a/gl/m4/progtest.m4 b/gl/m4/progtest.m4 deleted file mode 100644 index 906567bb..00000000 --- a/gl/m4/progtest.m4 +++ /dev/null | |||
@@ -1,91 +0,0 @@ | |||
1 | # progtest.m4 serial 9 (gettext-0.21.1) | ||
2 | dnl Copyright (C) 1996-2003, 2005, 2008-2023 Free Software Foundation, Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | ||
4 | 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 | ||
7 | dnl This file can be used in projects which are not available under | ||
8 | dnl the GNU General Public License or the GNU Lesser General Public | ||
9 | dnl License but which still want to provide support for the GNU gettext | ||
10 | dnl functionality. | ||
11 | dnl Please note that the actual code of the GNU gettext library is covered | ||
12 | dnl by the GNU Lesser General Public License, and the rest of the GNU | ||
13 | dnl gettext package is covered by the GNU General Public License. | ||
14 | dnl They are *not* in the public domain. | ||
15 | |||
16 | dnl Authors: | ||
17 | dnl Ulrich Drepper <drepper@cygnus.com>, 1996. | ||
18 | |||
19 | AC_PREREQ([2.53]) | ||
20 | |||
21 | # Search path for a program which passes the given test. | ||
22 | |||
23 | dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, | ||
24 | dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) | ||
25 | AC_DEFUN([AM_PATH_PROG_WITH_TEST], | ||
26 | [ | ||
27 | # Prepare PATH_SEPARATOR. | ||
28 | # The user is always right. | ||
29 | if test "${PATH_SEPARATOR+set}" != set; then | ||
30 | # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which | ||
31 | # contains only /bin. Note that ksh looks also at the FPATH variable, | ||
32 | # so we have to set that as well for the test. | ||
33 | PATH_SEPARATOR=: | ||
34 | (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ | ||
35 | && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ | ||
36 | || PATH_SEPARATOR=';' | ||
37 | } | ||
38 | fi | ||
39 | |||
40 | # Find out how to test for executable files. Don't use a zero-byte file, | ||
41 | # as systems may use methods other than mode bits to determine executability. | ||
42 | cat >conf$$.file <<_ASEOF | ||
43 | #! /bin/sh | ||
44 | exit 0 | ||
45 | _ASEOF | ||
46 | chmod +x conf$$.file | ||
47 | if test -x conf$$.file >/dev/null 2>&1; then | ||
48 | ac_executable_p="test -x" | ||
49 | else | ||
50 | ac_executable_p="test -f" | ||
51 | fi | ||
52 | rm -f conf$$.file | ||
53 | |||
54 | # Extract the first word of "$2", so it can be a program name with args. | ||
55 | set dummy $2; ac_word=[$]2 | ||
56 | AC_MSG_CHECKING([for $ac_word]) | ||
57 | AC_CACHE_VAL([ac_cv_path_$1], | ||
58 | [case "[$]$1" in | ||
59 | [[\\/]]* | ?:[[\\/]]*) | ||
60 | ac_cv_path_$1="[$]$1" # Let the user override the test with a path. | ||
61 | ;; | ||
62 | *) | ||
63 | ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR | ||
64 | for ac_dir in m4_if([$5], , $PATH, [$5]); do | ||
65 | IFS="$ac_save_IFS" | ||
66 | test -z "$ac_dir" && ac_dir=. | ||
67 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
68 | if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then | ||
69 | echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD | ||
70 | if [$3]; then | ||
71 | ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" | ||
72 | break 2 | ||
73 | fi | ||
74 | fi | ||
75 | done | ||
76 | done | ||
77 | IFS="$ac_save_IFS" | ||
78 | dnl If no 4th arg is given, leave the cache variable unset, | ||
79 | dnl so AC_PATH_PROGS will keep looking. | ||
80 | m4_if([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" | ||
81 | ])dnl | ||
82 | ;; | ||
83 | esac])dnl | ||
84 | $1="$ac_cv_path_$1" | ||
85 | if test m4_if([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then | ||
86 | AC_MSG_RESULT([$][$1]) | ||
87 | else | ||
88 | AC_MSG_RESULT([no]) | ||
89 | fi | ||
90 | AC_SUBST([$1])dnl | ||
91 | ]) | ||