diff options
author | Christian Grothoff <christian@grothoff.org> | 2022-10-24 09:04:59 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2022-10-24 09:04:59 +0200 |
commit | 82ba0d60eb4868b605dc596a8fa46838e1cc766e (patch) | |
tree | bdf625e45be7f92685c0491711a5b5e02841103a /m4 | |
parent | 4e8db942034383e0d03f71f2673385f4a669673d (diff) | |
download | gnunet-ext-82ba0d60eb4868b605dc596a8fa46838e1cc766e.tar.gz gnunet-ext-82ba0d60eb4868b605dc596a8fa46838e1cc766e.zip |
-update autotools/gettext
Diffstat (limited to 'm4')
-rw-r--r-- | m4/gettext.m4 | 155 | ||||
-rw-r--r-- | m4/host-cpu-c-abi.m4 | 675 | ||||
-rw-r--r-- | m4/iconv.m4 | 176 | ||||
-rw-r--r-- | m4/intlmacosx.m4 | 65 | ||||
-rw-r--r-- | m4/lib-ld.m4 | 208 | ||||
-rw-r--r-- | m4/lib-link.m4 | 206 | ||||
-rw-r--r-- | m4/lib-prefix.m4 | 238 | ||||
-rw-r--r-- | m4/nls.m4 | 14 | ||||
-rw-r--r-- | m4/po.m4 | 93 | ||||
-rw-r--r-- | m4/progtest.m4 | 29 |
10 files changed, 1428 insertions, 431 deletions
diff --git a/m4/gettext.m4 b/m4/gettext.m4 index f84e6a5..4f25a27 100644 --- a/m4/gettext.m4 +++ b/m4/gettext.m4 | |||
@@ -1,16 +1,16 @@ | |||
1 | # gettext.m4 serial 63 (gettext-0.18) | 1 | # gettext.m4 serial 71 (gettext-0.20.2) |
2 | dnl Copyright (C) 1995-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1995-2014, 2016, 2018-2020 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
6 | dnl | 6 | dnl |
7 | dnl This file can can be used in projects which are not available under | 7 | dnl This file can be used in projects which are not available under |
8 | dnl the GNU General Public License or the GNU Library General Public | 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 | 9 | dnl License but which still want to provide support for the GNU gettext |
10 | dnl functionality. | 10 | dnl functionality. |
11 | dnl Please note that the actual code of the GNU gettext library is covered | 11 | dnl Please note that the actual code of the GNU gettext library is covered |
12 | dnl by the GNU Library General Public License, and the rest of the GNU | 12 | dnl by the GNU Lesser General Public License, and the rest of the GNU |
13 | dnl gettext package package is covered by the GNU General Public License. | 13 | dnl gettext package is covered by the GNU General Public License. |
14 | dnl They are *not* in the public domain. | 14 | dnl They are *not* in the public domain. |
15 | 15 | ||
16 | dnl Authors: | 16 | dnl Authors: |
@@ -20,22 +20,20 @@ dnl Bruno Haible <haible@clisp.cons.org>, 2000-2006, 2008-2010. | |||
20 | dnl Macro to add for using GNU gettext. | 20 | dnl Macro to add for using GNU gettext. |
21 | 21 | ||
22 | dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). | 22 | dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). |
23 | dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The | 23 | dnl INTLSYMBOL must be one of 'external', 'use-libtool'. |
24 | dnl default (if it is not specified or empty) is 'no-libtool'. | 24 | dnl INTLSYMBOL should be 'external' for packages other than GNU gettext, and |
25 | dnl INTLSYMBOL should be 'external' for packages with no intl directory, | 25 | dnl 'use-libtool' for the packages 'gettext-runtime' and 'gettext-tools'. |
26 | dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. | ||
27 | dnl If INTLSYMBOL is 'use-libtool', then a libtool library | 26 | dnl If INTLSYMBOL is 'use-libtool', then a libtool library |
28 | dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, | 27 | dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, |
29 | dnl depending on --{enable,disable}-{shared,static} and on the presence of | 28 | dnl depending on --{enable,disable}-{shared,static} and on the presence of |
30 | dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library | 29 | dnl AM-DISABLE-SHARED). |
31 | dnl $(top_builddir)/intl/libintl.a will be created. | ||
32 | dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext | 30 | dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext |
33 | dnl implementations (in libc or libintl) without the ngettext() function | 31 | dnl implementations (in libc or libintl) without the ngettext() function |
34 | dnl will be ignored. If NEEDSYMBOL is specified and is | 32 | dnl will be ignored. If NEEDSYMBOL is specified and is |
35 | dnl 'need-formatstring-macros', then GNU gettext implementations that don't | 33 | dnl 'need-formatstring-macros', then GNU gettext implementations that don't |
36 | dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored. | 34 | dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored. |
37 | dnl INTLDIR is used to find the intl libraries. If empty, | 35 | dnl INTLDIR is used to find the intl libraries. If empty, |
38 | dnl the value `$(top_builddir)/intl/' is used. | 36 | dnl the value '$(top_builddir)/intl/' is used. |
39 | dnl | 37 | dnl |
40 | dnl The result of the configuration is one of three cases: | 38 | dnl The result of the configuration is one of three cases: |
41 | dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled | 39 | dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled |
@@ -57,19 +55,17 @@ dnl | |||
57 | AC_DEFUN([AM_GNU_GETTEXT], | 55 | AC_DEFUN([AM_GNU_GETTEXT], |
58 | [ | 56 | [ |
59 | dnl Argument checking. | 57 | dnl Argument checking. |
60 | ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , | 58 | ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [use-libtool], , |
61 | [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT | 59 | [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT |
62 | ])])])])]) | 60 | ])])])]) |
63 | ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old], | 61 | ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old], |
64 | [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])]) | 62 | [errprint([ERROR: Use of AM_GNU_GETTEXT without [external] argument is no longer supported. |
63 | ])]) | ||
65 | ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , | 64 | ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , |
66 | [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT | 65 | [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT |
67 | ])])])]) | 66 | ])])])]) |
68 | define([gt_included_intl], | 67 | define([gt_included_intl], |
69 | ifelse([$1], [external], | 68 | ifelse([$1], [external], [no], [yes])) |
70 | ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), | ||
71 | [yes])) | ||
72 | define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) | ||
73 | gt_NEEDS_INIT | 69 | gt_NEEDS_INIT |
74 | AM_GNU_GETTEXT_NEED([$2]) | 70 | AM_GNU_GETTEXT_NEED([$2]) |
75 | 71 | ||
@@ -91,13 +87,12 @@ AC_DEFUN([AM_GNU_GETTEXT], | |||
91 | dnl again, outside any 'if'. There are two solutions: | 87 | dnl again, outside any 'if'. There are two solutions: |
92 | dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. | 88 | dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. |
93 | dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. | 89 | dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. |
94 | dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not | 90 | dnl Since AC_PROVIDE_IFELSE is not documented, we avoid it. |
95 | dnl documented, we avoid it. | ||
96 | ifelse(gt_included_intl, yes, , [ | 91 | ifelse(gt_included_intl, yes, , [ |
97 | AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) | 92 | AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) |
98 | ]) | 93 | ]) |
99 | 94 | ||
100 | dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. | 95 | dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation. |
101 | gt_INTL_MACOSX | 96 | gt_INTL_MACOSX |
102 | 97 | ||
103 | dnl Set USE_NLS. | 98 | dnl Set USE_NLS. |
@@ -157,12 +152,23 @@ changequote([,])dnl | |||
157 | fi | 152 | fi |
158 | 153 | ||
159 | AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], | 154 | AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], |
160 | [AC_TRY_LINK([#include <libintl.h> | 155 | [AC_LINK_IFELSE( |
161 | $gt_revision_test_code | 156 | [AC_LANG_PROGRAM( |
157 | [[ | ||
158 | #include <libintl.h> | ||
159 | #ifndef __GNU_GETTEXT_SUPPORTED_REVISION | ||
162 | extern int _nl_msg_cat_cntr; | 160 | extern int _nl_msg_cat_cntr; |
163 | extern int *_nl_domain_bindings;], | 161 | extern int *_nl_domain_bindings; |
164 | [bindtextdomain ("", ""); | 162 | #define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_domain_bindings) |
165 | return * gettext ("")$gt_expression_test_code + _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 | ]])], | ||
166 | [eval "$gt_func_gnugettext_libc=yes"], | 172 | [eval "$gt_func_gnugettext_libc=yes"], |
167 | [eval "$gt_func_gnugettext_libc=no"])]) | 173 | [eval "$gt_func_gnugettext_libc=no"])]) |
168 | 174 | ||
@@ -183,35 +189,57 @@ return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_b | |||
183 | gt_save_LIBS="$LIBS" | 189 | gt_save_LIBS="$LIBS" |
184 | LIBS="$LIBS $LIBINTL" | 190 | LIBS="$LIBS $LIBINTL" |
185 | dnl Now see whether libintl exists and does not depend on libiconv. | 191 | dnl Now see whether libintl exists and does not depend on libiconv. |
186 | AC_TRY_LINK([#include <libintl.h> | 192 | AC_LINK_IFELSE( |
187 | $gt_revision_test_code | 193 | [AC_LANG_PROGRAM( |
194 | [[ | ||
195 | #include <libintl.h> | ||
196 | #ifndef __GNU_GETTEXT_SUPPORTED_REVISION | ||
188 | extern int _nl_msg_cat_cntr; | 197 | extern int _nl_msg_cat_cntr; |
189 | extern | 198 | extern |
190 | #ifdef __cplusplus | 199 | #ifdef __cplusplus |
191 | "C" | 200 | "C" |
192 | #endif | 201 | #endif |
193 | const char *_nl_expand_alias (const char *);], | 202 | const char *_nl_expand_alias (const char *); |
194 | [bindtextdomain ("", ""); | 203 | #define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias ("")) |
195 | return * gettext ("")$gt_expression_test_code + _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 | ]])], | ||
196 | [eval "$gt_func_gnugettext_libintl=yes"], | 213 | [eval "$gt_func_gnugettext_libintl=yes"], |
197 | [eval "$gt_func_gnugettext_libintl=no"]) | 214 | [eval "$gt_func_gnugettext_libintl=no"]) |
198 | dnl Now see whether libintl exists and depends on libiconv. | 215 | dnl Now see whether libintl exists and depends on libiconv. |
199 | if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then | 216 | if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then |
200 | LIBS="$LIBS $LIBICONV" | 217 | LIBS="$LIBS $LIBICONV" |
201 | AC_TRY_LINK([#include <libintl.h> | 218 | AC_LINK_IFELSE( |
202 | $gt_revision_test_code | 219 | [AC_LANG_PROGRAM( |
220 | [[ | ||
221 | #include <libintl.h> | ||
222 | #ifndef __GNU_GETTEXT_SUPPORTED_REVISION | ||
203 | extern int _nl_msg_cat_cntr; | 223 | extern int _nl_msg_cat_cntr; |
204 | extern | 224 | extern |
205 | #ifdef __cplusplus | 225 | #ifdef __cplusplus |
206 | "C" | 226 | "C" |
207 | #endif | 227 | #endif |
208 | const char *_nl_expand_alias (const char *);], | 228 | const char *_nl_expand_alias (const char *); |
209 | [bindtextdomain ("", ""); | 229 | #define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias ("")) |
210 | return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], | 230 | #else |
211 | [LIBINTL="$LIBINTL $LIBICONV" | 231 | #define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 |
212 | LTLIBINTL="$LTLIBINTL $LTLIBICONV" | 232 | #endif |
213 | eval "$gt_func_gnugettext_libintl=yes" | 233 | $gt_revision_test_code |
214 | ]) | 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 | ]) | ||
215 | fi | 243 | fi |
216 | CPPFLAGS="$gt_save_CPPFLAGS" | 244 | CPPFLAGS="$gt_save_CPPFLAGS" |
217 | LIBS="$gt_save_LIBS"]) | 245 | LIBS="$gt_save_LIBS"]) |
@@ -245,8 +273,8 @@ return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_a | |||
245 | dnl Mark actions used to generate GNU NLS library. | 273 | dnl Mark actions used to generate GNU NLS library. |
246 | BUILD_INCLUDED_LIBINTL=yes | 274 | BUILD_INCLUDED_LIBINTL=yes |
247 | USE_INCLUDED_LIBINTL=yes | 275 | USE_INCLUDED_LIBINTL=yes |
248 | LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" | 276 | LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.la $LIBICONV $LIBTHREAD" |
249 | LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" | 277 | LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.la $LTLIBICONV $LTLIBTHREAD" |
250 | LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` | 278 | LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` |
251 | fi | 279 | fi |
252 | 280 | ||
@@ -314,43 +342,14 @@ return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_a | |||
314 | fi | 342 | fi |
315 | 343 | ||
316 | ifelse(gt_included_intl, yes, [ | 344 | ifelse(gt_included_intl, yes, [ |
317 | dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL | 345 | dnl In GNU gettext we have to set BUILD_INCLUDED_LIBINTL to 'yes' |
318 | dnl to 'yes' because some of the testsuite requires it. | 346 | dnl because some of the testsuite requires it. |
319 | if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then | 347 | BUILD_INCLUDED_LIBINTL=yes |
320 | BUILD_INCLUDED_LIBINTL=yes | ||
321 | fi | ||
322 | 348 | ||
323 | dnl Make all variables we use known to autoconf. | 349 | dnl Make all variables we use known to autoconf. |
324 | AC_SUBST([BUILD_INCLUDED_LIBINTL]) | 350 | AC_SUBST([BUILD_INCLUDED_LIBINTL]) |
325 | AC_SUBST([USE_INCLUDED_LIBINTL]) | 351 | AC_SUBST([USE_INCLUDED_LIBINTL]) |
326 | AC_SUBST([CATOBJEXT]) | 352 | AC_SUBST([CATOBJEXT]) |
327 | |||
328 | dnl For backward compatibility. Some configure.ins may be using this. | ||
329 | nls_cv_header_intl= | ||
330 | nls_cv_header_libgt= | ||
331 | |||
332 | dnl For backward compatibility. Some Makefiles may be using this. | ||
333 | DATADIRNAME=share | ||
334 | AC_SUBST([DATADIRNAME]) | ||
335 | |||
336 | dnl For backward compatibility. Some Makefiles may be using this. | ||
337 | INSTOBJEXT=.mo | ||
338 | AC_SUBST([INSTOBJEXT]) | ||
339 | |||
340 | dnl For backward compatibility. Some Makefiles may be using this. | ||
341 | GENCAT=gencat | ||
342 | AC_SUBST([GENCAT]) | ||
343 | |||
344 | dnl For backward compatibility. Some Makefiles may be using this. | ||
345 | INTLOBJS= | ||
346 | if test "$USE_INCLUDED_LIBINTL" = yes; then | ||
347 | INTLOBJS="\$(GETTOBJS)" | ||
348 | fi | ||
349 | AC_SUBST([INTLOBJS]) | ||
350 | |||
351 | dnl Enable libtool support if the surrounding package wishes it. | ||
352 | INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix | ||
353 | AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX]) | ||
354 | ]) | 353 | ]) |
355 | 354 | ||
356 | dnl For backward compatibility. Some Makefiles may be using this. | 355 | dnl For backward compatibility. Some Makefiles may be using this. |
@@ -381,3 +380,7 @@ AC_DEFUN([AM_GNU_GETTEXT_NEED], | |||
381 | 380 | ||
382 | dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) | 381 | dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) |
383 | AC_DEFUN([AM_GNU_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/m4/host-cpu-c-abi.m4 b/m4/host-cpu-c-abi.m4 new file mode 100644 index 0000000..6db2aa2 --- /dev/null +++ b/m4/host-cpu-c-abi.m4 | |||
@@ -0,0 +1,675 @@ | |||
1 | # host-cpu-c-abi.m4 serial 13 | ||
2 | dnl Copyright (C) 2002-2020 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 _ARCH_PPC64 | ||
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 __m68k__ | ||
386 | #undef __m68k__ | ||
387 | #endif | ||
388 | #ifndef __mips__ | ||
389 | #undef __mips__ | ||
390 | #endif | ||
391 | #ifndef __mipsn32__ | ||
392 | #undef __mipsn32__ | ||
393 | #endif | ||
394 | #ifndef __mips64__ | ||
395 | #undef __mips64__ | ||
396 | #endif | ||
397 | #ifndef __powerpc__ | ||
398 | #undef __powerpc__ | ||
399 | #endif | ||
400 | #ifndef __powerpc64__ | ||
401 | #undef __powerpc64__ | ||
402 | #endif | ||
403 | #ifndef __powerpc64_elfv2__ | ||
404 | #undef __powerpc64_elfv2__ | ||
405 | #endif | ||
406 | #ifndef __riscv32__ | ||
407 | #undef __riscv32__ | ||
408 | #endif | ||
409 | #ifndef __riscv64__ | ||
410 | #undef __riscv64__ | ||
411 | #endif | ||
412 | #ifndef __riscv32_ilp32__ | ||
413 | #undef __riscv32_ilp32__ | ||
414 | #endif | ||
415 | #ifndef __riscv32_ilp32f__ | ||
416 | #undef __riscv32_ilp32f__ | ||
417 | #endif | ||
418 | #ifndef __riscv32_ilp32d__ | ||
419 | #undef __riscv32_ilp32d__ | ||
420 | #endif | ||
421 | #ifndef __riscv64_ilp32__ | ||
422 | #undef __riscv64_ilp32__ | ||
423 | #endif | ||
424 | #ifndef __riscv64_ilp32f__ | ||
425 | #undef __riscv64_ilp32f__ | ||
426 | #endif | ||
427 | #ifndef __riscv64_ilp32d__ | ||
428 | #undef __riscv64_ilp32d__ | ||
429 | #endif | ||
430 | #ifndef __riscv64_lp64__ | ||
431 | #undef __riscv64_lp64__ | ||
432 | #endif | ||
433 | #ifndef __riscv64_lp64f__ | ||
434 | #undef __riscv64_lp64f__ | ||
435 | #endif | ||
436 | #ifndef __riscv64_lp64d__ | ||
437 | #undef __riscv64_lp64d__ | ||
438 | #endif | ||
439 | #ifndef __s390__ | ||
440 | #undef __s390__ | ||
441 | #endif | ||
442 | #ifndef __s390x__ | ||
443 | #undef __s390x__ | ||
444 | #endif | ||
445 | #ifndef __sh__ | ||
446 | #undef __sh__ | ||
447 | #endif | ||
448 | #ifndef __sparc__ | ||
449 | #undef __sparc__ | ||
450 | #endif | ||
451 | #ifndef __sparc64__ | ||
452 | #undef __sparc64__ | ||
453 | #endif | ||
454 | ]) | ||
455 | |||
456 | ]) | ||
457 | |||
458 | |||
459 | dnl Sets the HOST_CPU_C_ABI_32BIT variable to 'yes' if the C language ABI | ||
460 | dnl (application binary interface) is a 32-bit one, to 'no' if it is a 64-bit | ||
461 | dnl one, or to 'unknown' if unknown. | ||
462 | dnl This is a simplified variant of gl_HOST_CPU_C_ABI. | ||
463 | AC_DEFUN([gl_HOST_CPU_C_ABI_32BIT], | ||
464 | [ | ||
465 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
466 | AC_CACHE_CHECK([32-bit host C ABI], [gl_cv_host_cpu_c_abi_32bit], | ||
467 | [if test -n "$gl_cv_host_cpu_c_abi"; then | ||
468 | case "$gl_cv_host_cpu_c_abi" in | ||
469 | i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc) | ||
470 | gl_cv_host_cpu_c_abi_32bit=yes ;; | ||
471 | x86_64 | alpha | arm64 | hppa64 | ia64 | mips64 | powerpc64 | powerpc64-elfv2 | riscv*-lp64* | s390x | sparc64 ) | ||
472 | gl_cv_host_cpu_c_abi_32bit=no ;; | ||
473 | *) | ||
474 | gl_cv_host_cpu_c_abi_32bit=unknown ;; | ||
475 | esac | ||
476 | else | ||
477 | case "$host_cpu" in | ||
478 | |||
479 | # CPUs that only support a 32-bit ABI. | ||
480 | arc \ | ||
481 | | bfin \ | ||
482 | | cris* \ | ||
483 | | csky \ | ||
484 | | epiphany \ | ||
485 | | ft32 \ | ||
486 | | h8300 \ | ||
487 | | m68k \ | ||
488 | | microblaze | microblazeel \ | ||
489 | | nds32 | nds32le | nds32be \ | ||
490 | | nios2 | nios2eb | nios2el \ | ||
491 | | or1k* \ | ||
492 | | or32 \ | ||
493 | | sh | sh[1234] | sh[1234]e[lb] \ | ||
494 | | tic6x \ | ||
495 | | xtensa* ) | ||
496 | gl_cv_host_cpu_c_abi_32bit=yes | ||
497 | ;; | ||
498 | |||
499 | # CPUs that only support a 64-bit ABI. | ||
500 | changequote(,)dnl | ||
501 | alpha | alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] \ | ||
502 | | mmix ) | ||
503 | changequote([,])dnl | ||
504 | gl_cv_host_cpu_c_abi_32bit=no | ||
505 | ;; | ||
506 | |||
507 | changequote(,)dnl | ||
508 | i[34567]86 ) | ||
509 | changequote([,])dnl | ||
510 | gl_cv_host_cpu_c_abi_32bit=yes | ||
511 | ;; | ||
512 | |||
513 | x86_64 ) | ||
514 | # On x86_64 systems, the C compiler may be generating code in one of | ||
515 | # these ABIs: | ||
516 | # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64. | ||
517 | # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64 | ||
518 | # with native Windows (mingw, MSVC). | ||
519 | # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32. | ||
520 | # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386. | ||
521 | AC_COMPILE_IFELSE( | ||
522 | [AC_LANG_SOURCE( | ||
523 | [[#if (defined __x86_64__ || defined __amd64__ \ | ||
524 | || defined _M_X64 || defined _M_AMD64) \ | ||
525 | && !(defined __ILP32__ || defined _ILP32) | ||
526 | int ok; | ||
527 | #else | ||
528 | error fail | ||
529 | #endif | ||
530 | ]])], | ||
531 | [gl_cv_host_cpu_c_abi_32bit=no], | ||
532 | [gl_cv_host_cpu_c_abi_32bit=yes]) | ||
533 | ;; | ||
534 | |||
535 | arm* | aarch64 ) | ||
536 | # Assume arm with EABI. | ||
537 | # On arm64 systems, the C compiler may be generating code in one of | ||
538 | # these ABIs: | ||
539 | # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64. | ||
540 | # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32. | ||
541 | # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf. | ||
542 | AC_COMPILE_IFELSE( | ||
543 | [AC_LANG_SOURCE( | ||
544 | [[#if defined __aarch64__ && !(defined __ILP32__ || defined _ILP32) | ||
545 | int ok; | ||
546 | #else | ||
547 | error fail | ||
548 | #endif | ||
549 | ]])], | ||
550 | [gl_cv_host_cpu_c_abi_32bit=no], | ||
551 | [gl_cv_host_cpu_c_abi_32bit=yes]) | ||
552 | ;; | ||
553 | |||
554 | hppa1.0 | hppa1.1 | hppa2.0* | hppa64 ) | ||
555 | # On hppa, the C compiler may be generating 32-bit code or 64-bit | ||
556 | # code. In the latter case, it defines _LP64 and __LP64__. | ||
557 | AC_COMPILE_IFELSE( | ||
558 | [AC_LANG_SOURCE( | ||
559 | [[#ifdef __LP64__ | ||
560 | int ok; | ||
561 | #else | ||
562 | error fail | ||
563 | #endif | ||
564 | ]])], | ||
565 | [gl_cv_host_cpu_c_abi_32bit=no], | ||
566 | [gl_cv_host_cpu_c_abi_32bit=yes]) | ||
567 | ;; | ||
568 | |||
569 | ia64* ) | ||
570 | # On ia64 on HP-UX, the C compiler may be generating 64-bit code or | ||
571 | # 32-bit code. In the latter case, it defines _ILP32. | ||
572 | AC_COMPILE_IFELSE( | ||
573 | [AC_LANG_SOURCE( | ||
574 | [[#ifdef _ILP32 | ||
575 | int ok; | ||
576 | #else | ||
577 | error fail | ||
578 | #endif | ||
579 | ]])], | ||
580 | [gl_cv_host_cpu_c_abi_32bit=yes], | ||
581 | [gl_cv_host_cpu_c_abi_32bit=no]) | ||
582 | ;; | ||
583 | |||
584 | mips* ) | ||
585 | # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this | ||
586 | # at 32. | ||
587 | AC_COMPILE_IFELSE( | ||
588 | [AC_LANG_SOURCE( | ||
589 | [[#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64) | ||
590 | int ok; | ||
591 | #else | ||
592 | error fail | ||
593 | #endif | ||
594 | ]])], | ||
595 | [gl_cv_host_cpu_c_abi_32bit=no], | ||
596 | [gl_cv_host_cpu_c_abi_32bit=yes]) | ||
597 | ;; | ||
598 | |||
599 | powerpc* ) | ||
600 | # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD. | ||
601 | # No need to distinguish them here; the caller may distinguish | ||
602 | # them based on the OS. | ||
603 | # On powerpc64 systems, the C compiler may still be generating | ||
604 | # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may | ||
605 | # be generating 64-bit code. | ||
606 | AC_COMPILE_IFELSE( | ||
607 | [AC_LANG_SOURCE( | ||
608 | [[#if defined __powerpc64__ || defined _ARCH_PPC64 | ||
609 | int ok; | ||
610 | #else | ||
611 | error fail | ||
612 | #endif | ||
613 | ]])], | ||
614 | [gl_cv_host_cpu_c_abi_32bit=no], | ||
615 | [gl_cv_host_cpu_c_abi_32bit=yes]) | ||
616 | ;; | ||
617 | |||
618 | rs6000 ) | ||
619 | gl_cv_host_cpu_c_abi_32bit=yes | ||
620 | ;; | ||
621 | |||
622 | riscv32 | riscv64 ) | ||
623 | # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d. | ||
624 | # Size of 'long' and 'void *': | ||
625 | AC_COMPILE_IFELSE( | ||
626 | [AC_LANG_SOURCE( | ||
627 | [[#if defined __LP64__ | ||
628 | int ok; | ||
629 | #else | ||
630 | error fail | ||
631 | #endif | ||
632 | ]])], | ||
633 | [gl_cv_host_cpu_c_abi_32bit=no], | ||
634 | [gl_cv_host_cpu_c_abi_32bit=yes]) | ||
635 | ;; | ||
636 | |||
637 | s390* ) | ||
638 | # On s390x, the C compiler may be generating 64-bit (= s390x) code | ||
639 | # or 31-bit (= s390) code. | ||
640 | AC_COMPILE_IFELSE( | ||
641 | [AC_LANG_SOURCE( | ||
642 | [[#if defined __LP64__ || defined __s390x__ | ||
643 | int ok; | ||
644 | #else | ||
645 | error fail | ||
646 | #endif | ||
647 | ]])], | ||
648 | [gl_cv_host_cpu_c_abi_32bit=no], | ||
649 | [gl_cv_host_cpu_c_abi_32bit=yes]) | ||
650 | ;; | ||
651 | |||
652 | sparc | sparc64 ) | ||
653 | # UltraSPARCs running Linux have `uname -m` = "sparc64", but the | ||
654 | # C compiler still generates 32-bit code. | ||
655 | AC_COMPILE_IFELSE( | ||
656 | [AC_LANG_SOURCE( | ||
657 | [[#if defined __sparcv9 || defined __arch64__ | ||
658 | int ok; | ||
659 | #else | ||
660 | error fail | ||
661 | #endif | ||
662 | ]])], | ||
663 | [gl_cv_host_cpu_c_abi_32bit=no], | ||
664 | [gl_cv_host_cpu_c_abi_32bit=yes]) | ||
665 | ;; | ||
666 | |||
667 | *) | ||
668 | gl_cv_host_cpu_c_abi_32bit=unknown | ||
669 | ;; | ||
670 | esac | ||
671 | fi | ||
672 | ]) | ||
673 | |||
674 | HOST_CPU_C_ABI_32BIT="$gl_cv_host_cpu_c_abi_32bit" | ||
675 | ]) | ||
diff --git a/m4/iconv.m4 b/m4/iconv.m4 index e2041b9..e593b72 100644 --- a/m4/iconv.m4 +++ b/m4/iconv.m4 | |||
@@ -1,5 +1,6 @@ | |||
1 | # iconv.m4 serial 11 (gettext-0.18.1) | 1 | # iconv.m4 serial 21 |
2 | dnl Copyright (C) 2000-2002, 2007-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2000-2002, 2007-2014, 2016-2020 Free Software Foundation, |
3 | dnl Inc. | ||
3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
@@ -30,27 +31,35 @@ AC_DEFUN([AM_ICONV_LINK], | |||
30 | dnl Add $INCICONV to CPPFLAGS before performing the following checks, | 31 | dnl Add $INCICONV to CPPFLAGS before performing the following checks, |
31 | dnl because if the user has installed libiconv and not disabled its use | 32 | dnl because if the user has installed libiconv and not disabled its use |
32 | dnl via --without-libiconv-prefix, he wants to use it. The first | 33 | dnl via --without-libiconv-prefix, he wants to use it. The first |
33 | dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. | 34 | dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed. |
34 | am_save_CPPFLAGS="$CPPFLAGS" | 35 | am_save_CPPFLAGS="$CPPFLAGS" |
35 | AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) | 36 | AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) |
36 | 37 | ||
37 | AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ | 38 | AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ |
38 | am_cv_func_iconv="no, consider installing GNU libiconv" | 39 | am_cv_func_iconv="no, consider installing GNU libiconv" |
39 | am_cv_lib_iconv=no | 40 | am_cv_lib_iconv=no |
40 | AC_TRY_LINK([#include <stdlib.h> | 41 | AC_LINK_IFELSE( |
41 | #include <iconv.h>], | 42 | [AC_LANG_PROGRAM( |
42 | [iconv_t cd = iconv_open("",""); | 43 | [[ |
43 | iconv(cd,NULL,NULL,NULL,NULL); | 44 | #include <stdlib.h> |
44 | iconv_close(cd);], | 45 | #include <iconv.h> |
46 | ]], | ||
47 | [[iconv_t cd = iconv_open("",""); | ||
48 | iconv(cd,NULL,NULL,NULL,NULL); | ||
49 | iconv_close(cd);]])], | ||
45 | [am_cv_func_iconv=yes]) | 50 | [am_cv_func_iconv=yes]) |
46 | if test "$am_cv_func_iconv" != yes; then | 51 | if test "$am_cv_func_iconv" != yes; then |
47 | am_save_LIBS="$LIBS" | 52 | am_save_LIBS="$LIBS" |
48 | LIBS="$LIBS $LIBICONV" | 53 | LIBS="$LIBS $LIBICONV" |
49 | AC_TRY_LINK([#include <stdlib.h> | 54 | AC_LINK_IFELSE( |
50 | #include <iconv.h>], | 55 | [AC_LANG_PROGRAM( |
51 | [iconv_t cd = iconv_open("",""); | 56 | [[ |
52 | iconv(cd,NULL,NULL,NULL,NULL); | 57 | #include <stdlib.h> |
53 | iconv_close(cd);], | 58 | #include <iconv.h> |
59 | ]], | ||
60 | [[iconv_t cd = iconv_open("",""); | ||
61 | iconv(cd,NULL,NULL,NULL,NULL); | ||
62 | iconv_close(cd);]])], | ||
54 | [am_cv_lib_iconv=yes] | 63 | [am_cv_lib_iconv=yes] |
55 | [am_cv_func_iconv=yes]) | 64 | [am_cv_func_iconv=yes]) |
56 | LIBS="$am_save_LIBS" | 65 | LIBS="$am_save_LIBS" |
@@ -58,33 +67,43 @@ AC_DEFUN([AM_ICONV_LINK], | |||
58 | ]) | 67 | ]) |
59 | if test "$am_cv_func_iconv" = yes; then | 68 | if test "$am_cv_func_iconv" = yes; then |
60 | AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ | 69 | AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ |
61 | dnl This tests against bugs in AIX 5.1, HP-UX 11.11, Solaris 10. | 70 | dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11, |
71 | dnl Solaris 10. | ||
62 | am_save_LIBS="$LIBS" | 72 | am_save_LIBS="$LIBS" |
63 | if test $am_cv_lib_iconv = yes; then | 73 | if test $am_cv_lib_iconv = yes; then |
64 | LIBS="$LIBS $LIBICONV" | 74 | LIBS="$LIBS $LIBICONV" |
65 | fi | 75 | fi |
66 | AC_TRY_RUN([ | 76 | am_cv_func_iconv_works=no |
77 | for ac_iconv_const in '' 'const'; do | ||
78 | AC_RUN_IFELSE( | ||
79 | [AC_LANG_PROGRAM( | ||
80 | [[ | ||
67 | #include <iconv.h> | 81 | #include <iconv.h> |
68 | #include <string.h> | 82 | #include <string.h> |
69 | int main () | 83 | |
70 | { | 84 | #ifndef ICONV_CONST |
85 | # define ICONV_CONST $ac_iconv_const | ||
86 | #endif | ||
87 | ]], | ||
88 | [[int result = 0; | ||
71 | /* Test against AIX 5.1 bug: Failures are not distinguishable from successful | 89 | /* Test against AIX 5.1 bug: Failures are not distinguishable from successful |
72 | returns. */ | 90 | returns. */ |
73 | { | 91 | { |
74 | iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); | 92 | iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); |
75 | if (cd_utf8_to_88591 != (iconv_t)(-1)) | 93 | if (cd_utf8_to_88591 != (iconv_t)(-1)) |
76 | { | 94 | { |
77 | static const char input[] = "\342\202\254"; /* EURO SIGN */ | 95 | static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ |
78 | char buf[10]; | 96 | char buf[10]; |
79 | const char *inptr = input; | 97 | ICONV_CONST char *inptr = input; |
80 | size_t inbytesleft = strlen (input); | 98 | size_t inbytesleft = strlen (input); |
81 | char *outptr = buf; | 99 | char *outptr = buf; |
82 | size_t outbytesleft = sizeof (buf); | 100 | size_t outbytesleft = sizeof (buf); |
83 | size_t res = iconv (cd_utf8_to_88591, | 101 | size_t res = iconv (cd_utf8_to_88591, |
84 | (char **) &inptr, &inbytesleft, | 102 | &inptr, &inbytesleft, |
85 | &outptr, &outbytesleft); | 103 | &outptr, &outbytesleft); |
86 | if (res == 0) | 104 | if (res == 0) |
87 | return 1; | 105 | result |= 1; |
106 | iconv_close (cd_utf8_to_88591); | ||
88 | } | 107 | } |
89 | } | 108 | } |
90 | /* Test against Solaris 10 bug: Failures are not distinguishable from | 109 | /* Test against Solaris 10 bug: Failures are not distinguishable from |
@@ -93,17 +112,37 @@ int main () | |||
93 | iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); | 112 | iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); |
94 | if (cd_ascii_to_88591 != (iconv_t)(-1)) | 113 | if (cd_ascii_to_88591 != (iconv_t)(-1)) |
95 | { | 114 | { |
96 | static const char input[] = "\263"; | 115 | static ICONV_CONST char input[] = "\263"; |
97 | char buf[10]; | 116 | char buf[10]; |
98 | const char *inptr = input; | 117 | ICONV_CONST char *inptr = input; |
99 | size_t inbytesleft = strlen (input); | 118 | size_t inbytesleft = strlen (input); |
100 | char *outptr = buf; | 119 | char *outptr = buf; |
101 | size_t outbytesleft = sizeof (buf); | 120 | size_t outbytesleft = sizeof (buf); |
102 | size_t res = iconv (cd_ascii_to_88591, | 121 | size_t res = iconv (cd_ascii_to_88591, |
103 | (char **) &inptr, &inbytesleft, | 122 | &inptr, &inbytesleft, |
104 | &outptr, &outbytesleft); | 123 | &outptr, &outbytesleft); |
105 | if (res == 0) | 124 | if (res == 0) |
106 | return 1; | 125 | result |= 2; |
126 | iconv_close (cd_ascii_to_88591); | ||
127 | } | ||
128 | } | ||
129 | /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ | ||
130 | { | ||
131 | iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); | ||
132 | if (cd_88591_to_utf8 != (iconv_t)(-1)) | ||
133 | { | ||
134 | static ICONV_CONST char input[] = "\304"; | ||
135 | static char buf[2] = { (char)0xDE, (char)0xAD }; | ||
136 | ICONV_CONST char *inptr = input; | ||
137 | size_t inbytesleft = 1; | ||
138 | char *outptr = buf; | ||
139 | size_t outbytesleft = 1; | ||
140 | size_t res = iconv (cd_88591_to_utf8, | ||
141 | &inptr, &inbytesleft, | ||
142 | &outptr, &outbytesleft); | ||
143 | if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) | ||
144 | result |= 4; | ||
145 | iconv_close (cd_88591_to_utf8); | ||
107 | } | 146 | } |
108 | } | 147 | } |
109 | #if 0 /* This bug could be worked around by the caller. */ | 148 | #if 0 /* This bug could be worked around by the caller. */ |
@@ -112,37 +151,53 @@ int main () | |||
112 | iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); | 151 | iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); |
113 | if (cd_88591_to_utf8 != (iconv_t)(-1)) | 152 | if (cd_88591_to_utf8 != (iconv_t)(-1)) |
114 | { | 153 | { |
115 | static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; | 154 | static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; |
116 | char buf[50]; | 155 | char buf[50]; |
117 | const char *inptr = input; | 156 | ICONV_CONST char *inptr = input; |
118 | size_t inbytesleft = strlen (input); | 157 | size_t inbytesleft = strlen (input); |
119 | char *outptr = buf; | 158 | char *outptr = buf; |
120 | size_t outbytesleft = sizeof (buf); | 159 | size_t outbytesleft = sizeof (buf); |
121 | size_t res = iconv (cd_88591_to_utf8, | 160 | size_t res = iconv (cd_88591_to_utf8, |
122 | (char **) &inptr, &inbytesleft, | 161 | &inptr, &inbytesleft, |
123 | &outptr, &outbytesleft); | 162 | &outptr, &outbytesleft); |
124 | if ((int)res > 0) | 163 | if ((int)res > 0) |
125 | return 1; | 164 | result |= 8; |
165 | iconv_close (cd_88591_to_utf8); | ||
126 | } | 166 | } |
127 | } | 167 | } |
128 | #endif | 168 | #endif |
129 | /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is | 169 | /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is |
130 | provided. */ | 170 | provided. */ |
131 | if (/* Try standardized names. */ | 171 | { |
132 | iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) | 172 | /* Try standardized names. */ |
133 | /* Try IRIX, OSF/1 names. */ | 173 | iconv_t cd1 = iconv_open ("UTF-8", "EUC-JP"); |
134 | && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) | 174 | /* Try IRIX, OSF/1 names. */ |
135 | /* Try AIX names. */ | 175 | iconv_t cd2 = iconv_open ("UTF-8", "eucJP"); |
136 | && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) | 176 | /* Try AIX names. */ |
137 | /* Try HP-UX names. */ | 177 | iconv_t cd3 = iconv_open ("UTF-8", "IBM-eucJP"); |
138 | && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) | 178 | /* Try HP-UX names. */ |
139 | return 1; | 179 | iconv_t cd4 = iconv_open ("utf8", "eucJP"); |
140 | return 0; | 180 | if (cd1 == (iconv_t)(-1) && cd2 == (iconv_t)(-1) |
141 | }], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no], | 181 | && cd3 == (iconv_t)(-1) && cd4 == (iconv_t)(-1)) |
142 | [case "$host_os" in | 182 | result |= 16; |
143 | aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; | 183 | if (cd1 != (iconv_t)(-1)) |
144 | *) am_cv_func_iconv_works="guessing yes" ;; | 184 | iconv_close (cd1); |
145 | esac]) | 185 | if (cd2 != (iconv_t)(-1)) |
186 | iconv_close (cd2); | ||
187 | if (cd3 != (iconv_t)(-1)) | ||
188 | iconv_close (cd3); | ||
189 | if (cd4 != (iconv_t)(-1)) | ||
190 | iconv_close (cd4); | ||
191 | } | ||
192 | return result; | ||
193 | ]])], | ||
194 | [am_cv_func_iconv_works=yes], , | ||
195 | [case "$host_os" in | ||
196 | aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; | ||
197 | *) am_cv_func_iconv_works="guessing yes" ;; | ||
198 | esac]) | ||
199 | test "$am_cv_func_iconv_works" = no || break | ||
200 | done | ||
146 | LIBS="$am_save_LIBS" | 201 | LIBS="$am_save_LIBS" |
147 | ]) | 202 | ]) |
148 | case "$am_cv_func_iconv_works" in | 203 | case "$am_cv_func_iconv_works" in |
@@ -183,32 +238,51 @@ m4_define([gl_iconv_AC_DEFUN], | |||
183 | m4_version_prereq([2.64], | 238 | m4_version_prereq([2.64], |
184 | [[AC_DEFUN_ONCE( | 239 | [[AC_DEFUN_ONCE( |
185 | [$1], [$2])]], | 240 | [$1], [$2])]], |
186 | [[AC_DEFUN( | 241 | [m4_ifdef([gl_00GNULIB], |
187 | [$1], [$2])]])) | 242 | [[AC_DEFUN_ONCE( |
243 | [$1], [$2])]], | ||
244 | [[AC_DEFUN( | ||
245 | [$1], [$2])]])])) | ||
188 | gl_iconv_AC_DEFUN([AM_ICONV], | 246 | gl_iconv_AC_DEFUN([AM_ICONV], |
189 | [ | 247 | [ |
190 | AM_ICONV_LINK | 248 | AM_ICONV_LINK |
191 | if test "$am_cv_func_iconv" = yes; then | 249 | if test "$am_cv_func_iconv" = yes; then |
192 | AC_MSG_CHECKING([for iconv declaration]) | 250 | AC_MSG_CHECKING([for iconv declaration]) |
193 | AC_CACHE_VAL([am_cv_proto_iconv], [ | 251 | AC_CACHE_VAL([am_cv_proto_iconv], [ |
194 | AC_TRY_COMPILE([ | 252 | AC_COMPILE_IFELSE( |
253 | [AC_LANG_PROGRAM( | ||
254 | [[ | ||
195 | #include <stdlib.h> | 255 | #include <stdlib.h> |
196 | #include <iconv.h> | 256 | #include <iconv.h> |
197 | extern | 257 | extern |
198 | #ifdef __cplusplus | 258 | #ifdef __cplusplus |
199 | "C" | 259 | "C" |
200 | #endif | 260 | #endif |
201 | #if defined(__STDC__) || defined(__cplusplus) | 261 | #if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) |
202 | size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); | 262 | size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); |
203 | #else | 263 | #else |
204 | size_t iconv(); | 264 | size_t iconv(); |
205 | #endif | 265 | #endif |
206 | ], [], [am_cv_proto_iconv_arg1=""], [am_cv_proto_iconv_arg1="const"]) | 266 | ]], |
267 | [[]])], | ||
268 | [am_cv_proto_iconv_arg1=""], | ||
269 | [am_cv_proto_iconv_arg1="const"]) | ||
207 | am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) | 270 | am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) |
208 | am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` | 271 | am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` |
209 | AC_MSG_RESULT([ | 272 | AC_MSG_RESULT([ |
210 | $am_cv_proto_iconv]) | 273 | $am_cv_proto_iconv]) |
211 | AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], | 274 | else |
212 | [Define as const if the declaration of iconv() needs const.]) | 275 | dnl When compiling GNU libiconv on a system that does not have iconv yet, |
276 | dnl pick the POSIX compliant declaration without 'const'. | ||
277 | am_cv_proto_iconv_arg1="" | ||
213 | fi | 278 | fi |
279 | AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], | ||
280 | [Define as const if the declaration of iconv() needs const.]) | ||
281 | dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>. | ||
282 | m4_ifdef([gl_ICONV_H_DEFAULTS], | ||
283 | [AC_REQUIRE([gl_ICONV_H_DEFAULTS]) | ||
284 | if test -n "$am_cv_proto_iconv_arg1"; then | ||
285 | ICONV_CONST="const" | ||
286 | fi | ||
287 | ]) | ||
214 | ]) | 288 | ]) |
diff --git a/m4/intlmacosx.m4 b/m4/intlmacosx.m4 new file mode 100644 index 0000000..ebd9937 --- /dev/null +++ b/m4/intlmacosx.m4 | |||
@@ -0,0 +1,65 @@ | |||
1 | # intlmacosx.m4 serial 8 (gettext-0.20.2) | ||
2 | dnl Copyright (C) 2004-2014, 2016, 2019-2020 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/m4/lib-ld.m4 b/m4/lib-ld.m4 index ebb3052..98c348f 100644 --- a/m4/lib-ld.m4 +++ b/m4/lib-ld.m4 | |||
@@ -1,110 +1,168 @@ | |||
1 | # lib-ld.m4 serial 4 (gettext-0.18) | 1 | # lib-ld.m4 serial 9 |
2 | dnl Copyright (C) 1996-2003, 2009-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1996-2003, 2009-2020 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
6 | 6 | ||
7 | dnl Subroutines of libtool.m4, | 7 | dnl Subroutines of libtool.m4, |
8 | dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision | 8 | dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid |
9 | dnl with libtool.m4. | 9 | dnl collision with libtool.m4. |
10 | 10 | ||
11 | dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. | 11 | dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no. |
12 | AC_DEFUN([AC_LIB_PROG_LD_GNU], | 12 | AC_DEFUN([AC_LIB_PROG_LD_GNU], |
13 | [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], | 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 ld's only accept -v. | 14 | [# I'd rather use --version here, but apparently some GNU lds only accept -v. |
15 | case `$LD -v 2>&1 </dev/null` in | 15 | case `$LD -v 2>&1 </dev/null` in |
16 | *GNU* | *'with BFD'*) | 16 | *GNU* | *'with BFD'*) |
17 | acl_cv_prog_gnu_ld=yes ;; | 17 | acl_cv_prog_gnu_ld=yes |
18 | ;; | ||
18 | *) | 19 | *) |
19 | acl_cv_prog_gnu_ld=no ;; | 20 | acl_cv_prog_gnu_ld=no |
21 | ;; | ||
20 | esac]) | 22 | esac]) |
21 | with_gnu_ld=$acl_cv_prog_gnu_ld | 23 | with_gnu_ld=$acl_cv_prog_gnu_ld |
22 | ]) | 24 | ]) |
23 | 25 | ||
24 | dnl From libtool-1.4. Sets the variable LD. | 26 | dnl From libtool-2.4. Sets the variable LD. |
25 | AC_DEFUN([AC_LIB_PROG_LD], | 27 | AC_DEFUN([AC_LIB_PROG_LD], |
26 | [AC_ARG_WITH([gnu-ld], | 28 | [AC_REQUIRE([AC_PROG_CC])dnl |
27 | [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], | ||
28 | test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) | ||
29 | AC_REQUIRE([AC_PROG_CC])dnl | ||
30 | AC_REQUIRE([AC_CANONICAL_HOST])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 | |||
31 | # Prepare PATH_SEPARATOR. | 37 | # Prepare PATH_SEPARATOR. |
32 | # The user is always right. | 38 | # The user is always right. |
33 | if test "${PATH_SEPARATOR+set}" != set; then | 39 | if test "${PATH_SEPARATOR+set}" != set; then |
34 | echo "#! /bin/sh" >conf$$.sh | 40 | # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which |
35 | echo "exit 0" >>conf$$.sh | 41 | # contains only /bin. Note that ksh looks also at the FPATH variable, |
36 | chmod +x conf$$.sh | 42 | # so we have to set that as well for the test. |
37 | if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then | 43 | PATH_SEPARATOR=: |
38 | PATH_SEPARATOR=';' | 44 | (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ |
39 | else | 45 | && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ |
40 | PATH_SEPARATOR=: | 46 | || PATH_SEPARATOR=';' |
41 | fi | 47 | } |
42 | rm -f conf$$.sh | ||
43 | fi | 48 | fi |
44 | ac_prog=ld | 49 | |
45 | if test "$GCC" = yes; then | 50 | if test -n "$LD"; then |
46 | # Check if gcc -print-prog-name=ld gives a path. | 51 | AC_MSG_CHECKING([for ld]) |
47 | AC_MSG_CHECKING([for ld used by GCC]) | 52 | elif test "$GCC" = yes; then |
48 | case $host in | 53 | AC_MSG_CHECKING([for ld used by $CC]) |
49 | *-*-mingw*) | ||
50 | # gcc leaves a trailing carriage return which upsets mingw | ||
51 | ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; | ||
52 | *) | ||
53 | ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; | ||
54 | esac | ||
55 | case $ac_prog in | ||
56 | # Accept absolute paths. | ||
57 | [[\\/]* | [A-Za-z]:[\\/]*)] | ||
58 | [re_direlt='/[^/][^/]*/\.\./'] | ||
59 | # Canonicalize the path of ld | ||
60 | ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` | ||
61 | while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do | ||
62 | ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` | ||
63 | done | ||
64 | test -z "$LD" && LD="$ac_prog" | ||
65 | ;; | ||
66 | "") | ||
67 | # If it fails, then pretend we aren't using GCC. | ||
68 | ac_prog=ld | ||
69 | ;; | ||
70 | *) | ||
71 | # If it is relative, then search for the first ld in PATH. | ||
72 | with_gnu_ld=unknown | ||
73 | ;; | ||
74 | esac | ||
75 | elif test "$with_gnu_ld" = yes; then | 54 | elif test "$with_gnu_ld" = yes; then |
76 | AC_MSG_CHECKING([for GNU ld]) | 55 | AC_MSG_CHECKING([for GNU ld]) |
77 | else | 56 | else |
78 | AC_MSG_CHECKING([for non-GNU ld]) | 57 | AC_MSG_CHECKING([for non-GNU ld]) |
79 | fi | 58 | fi |
80 | AC_CACHE_VAL([acl_cv_path_LD], | 59 | if test -n "$LD"; then |
81 | [if test -z "$LD"; then | 60 | # Let the user override the test with a path. |
82 | IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" | 61 | : |
83 | for ac_dir in $PATH; do | 62 | else |
84 | test -z "$ac_dir" && ac_dir=. | 63 | AC_CACHE_VAL([acl_cv_path_LD], |
85 | if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then | 64 | [ |
86 | acl_cv_path_LD="$ac_dir/$ac_prog" | 65 | acl_cv_path_LD= # Final result of this test |
87 | # Check to see if the program is GNU ld. I'd rather use --version, | 66 | ac_prog=ld # Program to search in $PATH |
88 | # but apparently some GNU ld's only accept -v. | 67 | if test "$GCC" = yes; then |
89 | # Break only if it was the GNU/non-GNU ld that we prefer. | 68 | # Check if gcc -print-prog-name=ld gives a path. |
90 | case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in | 69 | case $host in |
91 | *GNU* | *'with BFD'*) | 70 | *-*-mingw*) |
92 | test "$with_gnu_ld" != no && break ;; | 71 | # gcc leaves a trailing carriage return which upsets mingw |
93 | *) | 72 | acl_output=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; |
94 | test "$with_gnu_ld" != yes && break ;; | 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 | ;; | ||
95 | esac | 96 | esac |
96 | fi | 97 | fi |
97 | done | 98 | if test -n "$ac_prog"; then |
98 | IFS="$ac_save_ifs" | 99 | # Search for $ac_prog in $PATH. |
99 | else | 100 | acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR |
100 | acl_cv_path_LD="$LD" # Let the user override the test with a path. | 101 | for ac_dir in $PATH; do |
101 | fi]) | 102 | IFS="$acl_save_ifs" |
102 | LD="$acl_cv_path_LD" | 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 _ARCH_PPC64 | ||
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 | ||
103 | if test -n "$LD"; then | 161 | if test -n "$LD"; then |
104 | AC_MSG_RESULT([$LD]) | 162 | AC_MSG_RESULT([$LD]) |
105 | else | 163 | else |
106 | AC_MSG_RESULT([no]) | 164 | AC_MSG_RESULT([no]) |
165 | AC_MSG_ERROR([no acceptable ld found in \$PATH]) | ||
107 | fi | 166 | fi |
108 | test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) | ||
109 | AC_LIB_PROG_LD_GNU | 167 | AC_LIB_PROG_LD_GNU |
110 | ]) | 168 | ]) |
diff --git a/m4/lib-link.m4 b/m4/lib-link.m4 index c73bd8e..eecf70e 100644 --- a/m4/lib-link.m4 +++ b/m4/lib-link.m4 | |||
@@ -1,12 +1,12 @@ | |||
1 | # lib-link.m4 serial 21 (gettext-0.18) | 1 | # lib-link.m4 serial 31 |
2 | dnl Copyright (C) 2001-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2001-2020 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
6 | 6 | ||
7 | dnl From Bruno Haible. | 7 | dnl From Bruno Haible. |
8 | 8 | ||
9 | AC_PREREQ([2.54]) | 9 | AC_PREREQ([2.61]) |
10 | 10 | ||
11 | dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and | 11 | dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and |
12 | dnl the libraries corresponding to explicit and implicit dependencies. | 12 | dnl the libraries corresponding to explicit and implicit dependencies. |
@@ -18,9 +18,9 @@ AC_DEFUN([AC_LIB_LINKFLAGS], | |||
18 | [ | 18 | [ |
19 | AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) | 19 | AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) |
20 | AC_REQUIRE([AC_LIB_RPATH]) | 20 | AC_REQUIRE([AC_LIB_RPATH]) |
21 | pushdef([Name],[translit([$1],[./-], [___])]) | 21 | pushdef([Name],[m4_translit([$1],[./+-], [____])]) |
22 | pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], | 22 | pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], |
23 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) | 23 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) |
24 | AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ | 24 | AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ |
25 | AC_LIB_LINKFLAGS_BODY([$1], [$2]) | 25 | AC_LIB_LINKFLAGS_BODY([$1], [$2]) |
26 | ac_cv_lib[]Name[]_libs="$LIB[]NAME" | 26 | ac_cv_lib[]Name[]_libs="$LIB[]NAME" |
@@ -58,9 +58,9 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], | |||
58 | [ | 58 | [ |
59 | AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) | 59 | AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) |
60 | AC_REQUIRE([AC_LIB_RPATH]) | 60 | AC_REQUIRE([AC_LIB_RPATH]) |
61 | pushdef([Name],[translit([$1],[./-], [___])]) | 61 | pushdef([Name],[m4_translit([$1],[./+-], [____])]) |
62 | pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], | 62 | pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], |
63 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) | 63 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) |
64 | 64 | ||
65 | dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME | 65 | dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME |
66 | dnl accordingly. | 66 | dnl accordingly. |
@@ -85,7 +85,8 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], | |||
85 | *" -l"*) LIBS="$LIBS $LIB[]NAME" ;; | 85 | *" -l"*) LIBS="$LIBS $LIB[]NAME" ;; |
86 | *) LIBS="$LIB[]NAME $LIBS" ;; | 86 | *) LIBS="$LIB[]NAME $LIBS" ;; |
87 | esac | 87 | esac |
88 | AC_TRY_LINK([$3], [$4], | 88 | AC_LINK_IFELSE( |
89 | [AC_LANG_PROGRAM([[$3]], [[$4]])], | ||
89 | [ac_cv_lib[]Name=yes], | 90 | [ac_cv_lib[]Name=yes], |
90 | [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])']) | 91 | [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])']) |
91 | LIBS="$ac_save_LIBS" | 92 | LIBS="$ac_save_LIBS" |
@@ -115,14 +116,16 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], | |||
115 | dnl Determine the platform dependent parameters needed to use rpath: | 116 | dnl Determine the platform dependent parameters needed to use rpath: |
116 | dnl acl_libext, | 117 | dnl acl_libext, |
117 | dnl acl_shlibext, | 118 | dnl acl_shlibext, |
119 | dnl acl_libname_spec, | ||
120 | dnl acl_library_names_spec, | ||
118 | dnl acl_hardcode_libdir_flag_spec, | 121 | dnl acl_hardcode_libdir_flag_spec, |
119 | dnl acl_hardcode_libdir_separator, | 122 | dnl acl_hardcode_libdir_separator, |
120 | dnl acl_hardcode_direct, | 123 | dnl acl_hardcode_direct, |
121 | dnl acl_hardcode_minus_L. | 124 | dnl acl_hardcode_minus_L. |
122 | AC_DEFUN([AC_LIB_RPATH], | 125 | AC_DEFUN([AC_LIB_RPATH], |
123 | [ | 126 | [ |
124 | dnl Tell automake >= 1.10 to complain if config.rpath is missing. | 127 | dnl Complain if config.rpath is missing. |
125 | m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) | 128 | AC_REQUIRE_AUX_FILE([config.rpath]) |
126 | AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS | 129 | AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS |
127 | AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld | 130 | AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld |
128 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host | 131 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host |
@@ -157,15 +160,15 @@ dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar | |||
157 | dnl macro call that searches for libname. | 160 | dnl macro call that searches for libname. |
158 | AC_DEFUN([AC_LIB_FROMPACKAGE], | 161 | AC_DEFUN([AC_LIB_FROMPACKAGE], |
159 | [ | 162 | [ |
160 | pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], | 163 | pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], |
161 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) | 164 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) |
162 | define([acl_frompackage_]NAME, [$2]) | 165 | define([acl_frompackage_]NAME, [$2]) |
163 | popdef([NAME]) | 166 | popdef([NAME]) |
164 | pushdef([PACK],[$2]) | 167 | pushdef([PACK],[$2]) |
165 | pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], | 168 | pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], |
166 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) | 169 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) |
167 | define([acl_libsinpackage_]PACKUP, | 170 | define([acl_libsinpackage_]PACKUP, |
168 | m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1]) | 171 | m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1]) |
169 | popdef([PACKUP]) | 172 | popdef([PACKUP]) |
170 | popdef([PACK]) | 173 | popdef([PACK]) |
171 | ]) | 174 | ]) |
@@ -178,23 +181,23 @@ dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. | |||
178 | AC_DEFUN([AC_LIB_LINKFLAGS_BODY], | 181 | AC_DEFUN([AC_LIB_LINKFLAGS_BODY], |
179 | [ | 182 | [ |
180 | AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) | 183 | AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) |
181 | pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], | 184 | pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], |
182 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) | 185 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) |
183 | pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) | 186 | pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) |
184 | pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], | 187 | pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], |
185 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) | 188 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) |
186 | pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) | 189 | pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) |
187 | dnl Autoconf >= 2.61 supports dots in --with options. | ||
188 | pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)]) | ||
189 | dnl By default, look in $includedir and $libdir. | 190 | dnl By default, look in $includedir and $libdir. |
190 | use_additional=yes | 191 | use_additional=yes |
191 | AC_LIB_WITH_FINAL_PREFIX([ | 192 | AC_LIB_WITH_FINAL_PREFIX([ |
192 | eval additional_includedir=\"$includedir\" | 193 | eval additional_includedir=\"$includedir\" |
193 | eval additional_libdir=\"$libdir\" | 194 | eval additional_libdir=\"$libdir\" |
195 | eval additional_libdir2=\"$exec_prefix/$acl_libdirstem2\" | ||
196 | eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\" | ||
194 | ]) | 197 | ]) |
195 | AC_ARG_WITH(P_A_C_K[-prefix], | 198 | AC_ARG_WITH(PACK[-prefix], |
196 | [[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib | 199 | [[ --with-]]PACK[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib |
197 | --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], | 200 | --without-]]PACK[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], |
198 | [ | 201 | [ |
199 | if test "X$withval" = "Xno"; then | 202 | if test "X$withval" = "Xno"; then |
200 | use_additional=no | 203 | use_additional=no |
@@ -203,17 +206,23 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], | |||
203 | AC_LIB_WITH_FINAL_PREFIX([ | 206 | AC_LIB_WITH_FINAL_PREFIX([ |
204 | eval additional_includedir=\"$includedir\" | 207 | eval additional_includedir=\"$includedir\" |
205 | eval additional_libdir=\"$libdir\" | 208 | eval additional_libdir=\"$libdir\" |
209 | eval additional_libdir2=\"$exec_prefix/$acl_libdirstem2\" | ||
210 | eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\" | ||
206 | ]) | 211 | ]) |
207 | else | 212 | else |
208 | additional_includedir="$withval/include" | 213 | additional_includedir="$withval/include" |
209 | additional_libdir="$withval/$acl_libdirstem" | 214 | additional_libdir="$withval/$acl_libdirstem" |
210 | if test "$acl_libdirstem2" != "$acl_libdirstem" \ | 215 | additional_libdir2="$withval/$acl_libdirstem2" |
211 | && ! test -d "$withval/$acl_libdirstem"; then | 216 | additional_libdir3="$withval/$acl_libdirstem3" |
212 | additional_libdir="$withval/$acl_libdirstem2" | ||
213 | fi | ||
214 | fi | 217 | fi |
215 | fi | 218 | fi |
216 | ]) | 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 | ||
217 | dnl Search the library and its dependencies in $additional_libdir and | 226 | dnl Search the library and its dependencies in $additional_libdir and |
218 | dnl $LDFLAGS. Using breadth-first-seach. | 227 | dnl $LDFLAGS. Using breadth-first-seach. |
219 | LIB[]NAME= | 228 | LIB[]NAME= |
@@ -242,7 +251,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], | |||
242 | names_already_handled="$names_already_handled $name" | 251 | names_already_handled="$names_already_handled $name" |
243 | dnl See if it was already located by an earlier AC_LIB_LINKFLAGS | 252 | dnl See if it was already located by an earlier AC_LIB_LINKFLAGS |
244 | dnl or AC_LIB_HAVE_LINKFLAGS call. | 253 | dnl or AC_LIB_HAVE_LINKFLAGS call. |
245 | uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` | 254 | uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` |
246 | eval value=\"\$HAVE_LIB$uppername\" | 255 | eval value=\"\$HAVE_LIB$uppername\" |
247 | if test -n "$value"; then | 256 | if test -n "$value"; then |
248 | if test "$value" = yes; then | 257 | if test "$value" = yes; then |
@@ -269,48 +278,54 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], | |||
269 | shrext= | 278 | shrext= |
270 | fi | 279 | fi |
271 | if test $use_additional = yes; then | 280 | if test $use_additional = yes; then |
272 | dir="$additional_libdir" | 281 | for additional_libdir_variable in additional_libdir additional_libdir2 additional_libdir3; do |
273 | dnl The same code as in the loop below: | 282 | if test "X$found_dir" = "X"; then |
274 | dnl First look for a shared library. | 283 | eval dir=\$$additional_libdir_variable |
275 | if test -n "$acl_shlibext"; then | 284 | if test -n "$dir"; then |
276 | if test -f "$dir/$libname$shrext"; then | 285 | dnl The same code as in the loop below: |
277 | found_dir="$dir" | 286 | dnl First look for a shared library. |
278 | found_so="$dir/$libname$shrext" | 287 | if test -n "$acl_shlibext"; then |
279 | else | 288 | if test -f "$dir/$libname$shrext" && acl_is_expected_elfclass < "$dir/$libname$shrext"; then |
280 | if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then | 289 | found_dir="$dir" |
281 | ver=`(cd "$dir" && \ | 290 | found_so="$dir/$libname$shrext" |
282 | for f in "$libname$shrext".*; do echo "$f"; done \ | 291 | else |
283 | | sed -e "s,^$libname$shrext\\\\.,," \ | 292 | if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then |
284 | | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | 293 | ver=`(cd "$dir" && \ |
285 | | sed 1q ) 2>/dev/null` | 294 | for f in "$libname$shrext".*; do echo "$f"; done \ |
286 | if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then | 295 | | sed -e "s,^$libname$shrext\\\\.,," \ |
287 | found_dir="$dir" | 296 | | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ |
288 | found_so="$dir/$libname$shrext.$ver" | 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 | ||
289 | fi | 313 | fi |
290 | else | 314 | dnl Then look for a static library. |
291 | eval library_names=\"$acl_library_names_spec\" | 315 | if test "X$found_dir" = "X"; then |
292 | for f in $library_names; do | 316 | if test -f "$dir/$libname.$acl_libext" && ${AR-ar} -p "$dir/$libname.$acl_libext" | acl_is_expected_elfclass; then |
293 | if test -f "$dir/$f"; then | ||
294 | found_dir="$dir" | 317 | found_dir="$dir" |
295 | found_so="$dir/$f" | 318 | found_a="$dir/$libname.$acl_libext" |
296 | break | ||
297 | fi | 319 | fi |
298 | done | 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 | ||
299 | fi | 326 | fi |
300 | fi | 327 | fi |
301 | fi | 328 | done |
302 | dnl Then look for a static library. | ||
303 | if test "X$found_dir" = "X"; then | ||
304 | if test -f "$dir/$libname.$acl_libext"; then | ||
305 | found_dir="$dir" | ||
306 | found_a="$dir/$libname.$acl_libext" | ||
307 | fi | ||
308 | fi | ||
309 | if test "X$found_dir" != "X"; then | ||
310 | if test -f "$dir/$libname.la"; then | ||
311 | found_la="$dir/$libname.la" | ||
312 | fi | ||
313 | fi | ||
314 | fi | 329 | fi |
315 | if test "X$found_dir" = "X"; then | 330 | if test "X$found_dir" = "X"; then |
316 | for x in $LDFLAGS $LTLIB[]NAME; do | 331 | for x in $LDFLAGS $LTLIB[]NAME; do |
@@ -320,7 +335,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], | |||
320 | dir=`echo "X$x" | sed -e 's/^X-L//'` | 335 | dir=`echo "X$x" | sed -e 's/^X-L//'` |
321 | dnl First look for a shared library. | 336 | dnl First look for a shared library. |
322 | if test -n "$acl_shlibext"; then | 337 | if test -n "$acl_shlibext"; then |
323 | if test -f "$dir/$libname$shrext"; then | 338 | if test -f "$dir/$libname$shrext" && acl_is_expected_elfclass < "$dir/$libname$shrext"; then |
324 | found_dir="$dir" | 339 | found_dir="$dir" |
325 | found_so="$dir/$libname$shrext" | 340 | found_so="$dir/$libname$shrext" |
326 | else | 341 | else |
@@ -330,14 +345,14 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], | |||
330 | | sed -e "s,^$libname$shrext\\\\.,," \ | 345 | | sed -e "s,^$libname$shrext\\\\.,," \ |
331 | | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | 346 | | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ |
332 | | sed 1q ) 2>/dev/null` | 347 | | sed 1q ) 2>/dev/null` |
333 | if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then | 348 | if test -n "$ver" && test -f "$dir/$libname$shrext.$ver" && acl_is_expected_elfclass < "$dir/$libname$shrext.$ver"; then |
334 | found_dir="$dir" | 349 | found_dir="$dir" |
335 | found_so="$dir/$libname$shrext.$ver" | 350 | found_so="$dir/$libname$shrext.$ver" |
336 | fi | 351 | fi |
337 | else | 352 | else |
338 | eval library_names=\"$acl_library_names_spec\" | 353 | eval library_names=\"$acl_library_names_spec\" |
339 | for f in $library_names; do | 354 | for f in $library_names; do |
340 | if test -f "$dir/$f"; then | 355 | if test -f "$dir/$f" && acl_is_expected_elfclass < "$dir/$f"; then |
341 | found_dir="$dir" | 356 | found_dir="$dir" |
342 | found_so="$dir/$f" | 357 | found_so="$dir/$f" |
343 | break | 358 | break |
@@ -348,7 +363,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], | |||
348 | fi | 363 | fi |
349 | dnl Then look for a static library. | 364 | dnl Then look for a static library. |
350 | if test "X$found_dir" = "X"; then | 365 | if test "X$found_dir" = "X"; then |
351 | if test -f "$dir/$libname.$acl_libext"; then | 366 | if test -f "$dir/$libname.$acl_libext" && ${AR-ar} -p "$dir/$libname.$acl_libext" | acl_is_expected_elfclass; then |
352 | found_dir="$dir" | 367 | found_dir="$dir" |
353 | found_a="$dir/$libname.$acl_libext" | 368 | found_a="$dir/$libname.$acl_libext" |
354 | fi | 369 | fi |
@@ -374,7 +389,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], | |||
374 | dnl standard /usr/lib. | 389 | dnl standard /usr/lib. |
375 | if test "$enable_rpath" = no \ | 390 | if test "$enable_rpath" = no \ |
376 | || test "X$found_dir" = "X/usr/$acl_libdirstem" \ | 391 | || test "X$found_dir" = "X/usr/$acl_libdirstem" \ |
377 | || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then | 392 | || test "X$found_dir" = "X/usr/$acl_libdirstem2" \ |
393 | || test "X$found_dir" = "X/usr/$acl_libdirstem3"; then | ||
378 | dnl No hardcoding is needed. | 394 | dnl No hardcoding is needed. |
379 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" | 395 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" |
380 | else | 396 | else |
@@ -474,6 +490,13 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], | |||
474 | fi | 490 | fi |
475 | additional_includedir="$basedir/include" | 491 | additional_includedir="$basedir/include" |
476 | ;; | 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 | ;; | ||
477 | esac | 500 | esac |
478 | if test "X$additional_includedir" != "X"; then | 501 | if test "X$additional_includedir" != "X"; then |
479 | dnl Potentially add $additional_includedir to $INCNAME. | 502 | dnl Potentially add $additional_includedir to $INCNAME. |
@@ -524,19 +547,21 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], | |||
524 | for dep in $dependency_libs; do | 547 | for dep in $dependency_libs; do |
525 | case "$dep" in | 548 | case "$dep" in |
526 | -L*) | 549 | -L*) |
527 | additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` | 550 | dependency_libdir=`echo "X$dep" | sed -e 's/^X-L//'` |
528 | dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. | 551 | dnl Potentially add $dependency_libdir to $LIBNAME and $LTLIBNAME. |
529 | dnl But don't add it | 552 | dnl But don't add it |
530 | dnl 1. if it's the standard /usr/lib, | 553 | dnl 1. if it's the standard /usr/lib, |
531 | dnl 2. if it's /usr/local/lib and we are using GCC on Linux, | 554 | dnl 2. if it's /usr/local/lib and we are using GCC on Linux, |
532 | dnl 3. if it's already present in $LDFLAGS or the already | 555 | dnl 3. if it's already present in $LDFLAGS or the already |
533 | dnl constructed $LIBNAME, | 556 | dnl constructed $LIBNAME, |
534 | dnl 4. if it doesn't exist as a directory. | 557 | dnl 4. if it doesn't exist as a directory. |
535 | if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ | 558 | if test "X$dependency_libdir" != "X/usr/$acl_libdirstem" \ |
536 | && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then | 559 | && test "X$dependency_libdir" != "X/usr/$acl_libdirstem2" \ |
560 | && test "X$dependency_libdir" != "X/usr/$acl_libdirstem3"; then | ||
537 | haveit= | 561 | haveit= |
538 | if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ | 562 | if test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem" \ |
539 | || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then | 563 | || test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem2" \ |
564 | || test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem3"; then | ||
540 | if test -n "$GCC"; then | 565 | if test -n "$GCC"; then |
541 | case $host_os in | 566 | case $host_os in |
542 | linux* | gnu* | k*bsd*-gnu) haveit=yes;; | 567 | linux* | gnu* | k*bsd*-gnu) haveit=yes;; |
@@ -547,29 +572,29 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], | |||
547 | haveit= | 572 | haveit= |
548 | for x in $LDFLAGS $LIB[]NAME; do | 573 | for x in $LDFLAGS $LIB[]NAME; do |
549 | AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | 574 | AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) |
550 | if test "X$x" = "X-L$additional_libdir"; then | 575 | if test "X$x" = "X-L$dependency_libdir"; then |
551 | haveit=yes | 576 | haveit=yes |
552 | break | 577 | break |
553 | fi | 578 | fi |
554 | done | 579 | done |
555 | if test -z "$haveit"; then | 580 | if test -z "$haveit"; then |
556 | if test -d "$additional_libdir"; then | 581 | if test -d "$dependency_libdir"; then |
557 | dnl Really add $additional_libdir to $LIBNAME. | 582 | dnl Really add $dependency_libdir to $LIBNAME. |
558 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" | 583 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$dependency_libdir" |
559 | fi | 584 | fi |
560 | fi | 585 | fi |
561 | haveit= | 586 | haveit= |
562 | for x in $LDFLAGS $LTLIB[]NAME; do | 587 | for x in $LDFLAGS $LTLIB[]NAME; do |
563 | AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | 588 | AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) |
564 | if test "X$x" = "X-L$additional_libdir"; then | 589 | if test "X$x" = "X-L$dependency_libdir"; then |
565 | haveit=yes | 590 | haveit=yes |
566 | break | 591 | break |
567 | fi | 592 | fi |
568 | done | 593 | done |
569 | if test -z "$haveit"; then | 594 | if test -z "$haveit"; then |
570 | if test -d "$additional_libdir"; then | 595 | if test -d "$dependency_libdir"; then |
571 | dnl Really add $additional_libdir to $LTLIBNAME. | 596 | dnl Really add $dependency_libdir to $LTLIBNAME. |
572 | LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" | 597 | LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$dependency_libdir" |
573 | fi | 598 | fi |
574 | fi | 599 | fi |
575 | fi | 600 | fi |
@@ -667,7 +692,6 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], | |||
667 | LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" | 692 | LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" |
668 | done | 693 | done |
669 | fi | 694 | fi |
670 | popdef([P_A_C_K]) | ||
671 | popdef([PACKLIBS]) | 695 | popdef([PACKLIBS]) |
672 | popdef([PACKUP]) | 696 | popdef([PACKUP]) |
673 | popdef([PACK]) | 697 | popdef([PACK]) |
@@ -718,7 +742,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], | |||
718 | dir="$next" | 742 | dir="$next" |
719 | dnl No need to hardcode the standard /usr/lib. | 743 | dnl No need to hardcode the standard /usr/lib. |
720 | if test "X$dir" != "X/usr/$acl_libdirstem" \ | 744 | if test "X$dir" != "X/usr/$acl_libdirstem" \ |
721 | && test "X$dir" != "X/usr/$acl_libdirstem2"; then | 745 | && test "X$dir" != "X/usr/$acl_libdirstem2" \ |
746 | && test "X$dir" != "X/usr/$acl_libdirstem3"; then | ||
722 | rpathdirs="$rpathdirs $dir" | 747 | rpathdirs="$rpathdirs $dir" |
723 | fi | 748 | fi |
724 | next= | 749 | next= |
@@ -728,7 +753,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], | |||
728 | -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` | 753 | -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` |
729 | dnl No need to hardcode the standard /usr/lib. | 754 | dnl No need to hardcode the standard /usr/lib. |
730 | if test "X$dir" != "X/usr/$acl_libdirstem" \ | 755 | if test "X$dir" != "X/usr/$acl_libdirstem" \ |
731 | && test "X$dir" != "X/usr/$acl_libdirstem2"; then | 756 | && test "X$dir" != "X/usr/$acl_libdirstem2" \ |
757 | && test "X$dir" != "X/usr/$acl_libdirstem3"; then | ||
732 | rpathdirs="$rpathdirs $dir" | 758 | rpathdirs="$rpathdirs $dir" |
733 | fi | 759 | fi |
734 | next= ;; | 760 | next= ;; |
diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4 index 1601cea..c8a0b46 100644 --- a/m4/lib-prefix.m4 +++ b/m4/lib-prefix.m4 | |||
@@ -1,18 +1,11 @@ | |||
1 | # lib-prefix.m4 serial 7 (gettext-0.18) | 1 | # lib-prefix.m4 serial 17 |
2 | dnl Copyright (C) 2001-2005, 2008-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2001-2005, 2008-2020 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
6 | 6 | ||
7 | dnl From Bruno Haible. | 7 | dnl From Bruno Haible. |
8 | 8 | ||
9 | dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and | ||
10 | dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't | ||
11 | dnl require excessive bracketing. | ||
12 | ifdef([AC_HELP_STRING], | ||
13 | [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], | ||
14 | [AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) | ||
15 | |||
16 | dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed | 9 | dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed |
17 | dnl to access previously installed libraries. The basic assumption is that | 10 | dnl to access previously installed libraries. The basic assumption is that |
18 | dnl a user will want packages to use other packages he previously installed | 11 | dnl a user will want packages to use other packages he previously installed |
@@ -32,9 +25,9 @@ AC_DEFUN([AC_LIB_PREFIX], | |||
32 | eval additional_includedir=\"$includedir\" | 25 | eval additional_includedir=\"$includedir\" |
33 | eval additional_libdir=\"$libdir\" | 26 | eval additional_libdir=\"$libdir\" |
34 | ]) | 27 | ]) |
35 | AC_LIB_ARG_WITH([lib-prefix], | 28 | AC_ARG_WITH([lib-prefix], |
36 | [ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib | 29 | [[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib |
37 | --without-lib-prefix don't search for libraries in includedir and libdir], | 30 | --without-lib-prefix don't search for libraries in includedir and libdir]], |
38 | [ | 31 | [ |
39 | if test "X$withval" = "Xno"; then | 32 | if test "X$withval" = "Xno"; then |
40 | use_additional=no | 33 | use_additional=no |
@@ -154,71 +147,174 @@ AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], | |||
154 | ]) | 147 | ]) |
155 | 148 | ||
156 | dnl AC_LIB_PREPARE_MULTILIB creates | 149 | dnl AC_LIB_PREPARE_MULTILIB creates |
157 | dnl - a variable acl_libdirstem, containing the basename of the libdir, either | 150 | dnl - a function acl_is_expected_elfclass, that tests whether standard input |
158 | dnl "lib" or "lib64" or "lib/64", | 151 | dn; has a 32-bit or 64-bit ELF header, depending on the host CPU ABI, |
159 | dnl - a variable acl_libdirstem2, as a secondary possible value for | 152 | dnl - 3 variables acl_libdirstem, acl_libdirstem2, acl_libdirstem3, containing |
160 | dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or | 153 | dnl the basename of the libdir to try in turn, either "lib" or "lib64" or |
161 | dnl "lib/amd64". | 154 | dnl "lib/64" or "lib32" or "lib/sparcv9" or "lib/amd64" or similar. |
162 | AC_DEFUN([AC_LIB_PREPARE_MULTILIB], | 155 | AC_DEFUN([AC_LIB_PREPARE_MULTILIB], |
163 | [ | 156 | [ |
164 | dnl There is no formal standard regarding lib and lib64. | 157 | dnl There is no formal standard regarding lib, lib32, and lib64. |
165 | dnl On glibc systems, the current practice is that on a system supporting | 158 | dnl On most glibc systems, the current practice is that on a system supporting |
166 | dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under | 159 | dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under |
167 | dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine | 160 | dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. However, on |
168 | dnl the compiler's default mode by looking at the compiler's library search | 161 | dnl Arch Linux based distributions, it's the opposite: 32-bit libraries go |
169 | dnl path. If at least one of its elements ends in /lib64 or points to a | 162 | dnl under $prefix/lib32 and 64-bit libraries go under $prefix/lib. |
170 | dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. | 163 | dnl We determine the compiler's default mode by looking at the compiler's |
171 | dnl Otherwise we use the default, namely "lib". | 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". | ||
172 | dnl On Solaris systems, the current practice is that on a system supporting | 168 | dnl On Solaris systems, the current practice is that on a system supporting |
173 | dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under | 169 | dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under |
174 | dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or | 170 | dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or |
175 | dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. | 171 | dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. |
176 | AC_REQUIRE([AC_CANONICAL_HOST]) | 172 | AC_REQUIRE([AC_CANONICAL_HOST]) |
177 | acl_libdirstem=lib | 173 | AC_REQUIRE([gl_HOST_CPU_C_ABI_32BIT]) |
178 | acl_libdirstem2= | 174 | |
179 | case "$host_os" in | 175 | AC_CACHE_CHECK([for ELF binary format], [gl_cv_elf], |
180 | solaris*) | 176 | [AC_EGREP_CPP([Extensible Linking Format], |
181 | dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment | 177 | [#ifdef __ELF__ |
182 | dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>. | 178 | Extensible Linking Format |
183 | dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." | 179 | #endif |
184 | dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the | 180 | ], |
185 | dnl symlink is missing, so we set acl_libdirstem2 too. | 181 | [gl_cv_elf=yes], |
186 | AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], | 182 | [gl_cv_elf=no]) |
187 | [AC_EGREP_CPP([sixtyfour bits], [ | 183 | ]) |
188 | #ifdef _LP64 | 184 | if test $gl_cv_elf; then |
189 | sixtyfour bits | 185 | # Extract the ELF class of a file (5th byte) in decimal. |
190 | #endif | 186 | # Cf. https://en.wikipedia.org/wiki/Executable_and_Linkable_Format#File_header |
191 | ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) | 187 | if od -A x < /dev/null >/dev/null 2>/dev/null; then |
192 | ]) | 188 | # Use POSIX od. |
193 | if test $gl_cv_solaris_64bit = yes; then | 189 | func_elfclass () |
194 | acl_libdirstem=lib/64 | 190 | { |
195 | case "$host_cpu" in | 191 | od -A n -t d1 -j 4 -N 1 |
196 | sparc*) acl_libdirstem2=lib/sparcv9 ;; | 192 | } |
197 | i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; | 193 | else |
198 | esac | 194 | # Use BSD hexdump. |
199 | fi | 195 | func_elfclass () |
200 | ;; | 196 | { |
201 | *) | 197 | dd bs=1 count=1 skip=4 2>/dev/null | hexdump -e '1/1 "%3d "' |
202 | searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` | 198 | echo |
203 | if test -n "$searchpath"; then | 199 | } |
204 | acl_save_IFS="${IFS= }"; IFS=":" | 200 | fi |
205 | for searchdir in $searchpath; do | 201 | changequote(,)dnl |
206 | if test -d "$searchdir"; then | 202 | case $HOST_CPU_C_ABI_32BIT in |
207 | case "$searchdir" in | 203 | yes) |
208 | */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; | 204 | # 32-bit ABI. |
209 | */../ | */.. ) | 205 | acl_is_expected_elfclass () |
210 | # Better ignore directories of this form. They are misleading. | 206 | { |
211 | ;; | 207 | test "`func_elfclass | sed -e 's/[ ]//g'`" = 1 |
212 | *) searchdir=`cd "$searchdir" && pwd` | 208 | } |
213 | case "$searchdir" in | 209 | ;; |
214 | */lib64 ) acl_libdirstem=lib64 ;; | 210 | no) |
215 | esac ;; | 211 | # 64-bit ABI. |
216 | esac | 212 | acl_is_expected_elfclass () |
217 | fi | 213 | { |
218 | done | 214 | test "`func_elfclass | sed -e 's/[ ]//g'`" = 2 |
219 | IFS="$acl_save_IFS" | 215 | } |
220 | fi | 216 | ;; |
221 | ;; | 217 | *) |
222 | esac | 218 | # Unknown. |
223 | test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" | 219 | acl_is_expected_elfclass () |
220 | { | ||
221 | : | ||
222 | } | ||
223 | ;; | ||
224 | esac | ||
225 | changequote([,])dnl | ||
226 | else | ||
227 | acl_is_expected_elfclass () | ||
228 | { | ||
229 | : | ||
230 | } | ||
231 | fi | ||
232 | |||
233 | dnl Allow the user to override the result by setting acl_cv_libdirstems. | ||
234 | AC_CACHE_CHECK([for the common suffixes of directories in the library search path], | ||
235 | [acl_cv_libdirstems], | ||
236 | [dnl Try 'lib' first, because that's the default for libdir in GNU, see | ||
237 | dnl <https://www.gnu.org/prep/standards/html_node/Directory-Variables.html>. | ||
238 | acl_libdirstem=lib | ||
239 | acl_libdirstem2= | ||
240 | acl_libdirstem3= | ||
241 | case "$host_os" in | ||
242 | solaris*) | ||
243 | dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment | ||
244 | dnl <https://docs.oracle.com/cd/E19253-01/816-5138/dev-env/index.html>. | ||
245 | dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." | ||
246 | dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the | ||
247 | dnl symlink is missing, so we set acl_libdirstem2 too. | ||
248 | if test $HOST_CPU_C_ABI_32BIT = no; then | ||
249 | acl_libdirstem2=lib/64 | ||
250 | case "$host_cpu" in | ||
251 | sparc*) acl_libdirstem3=lib/sparcv9 ;; | ||
252 | i*86 | x86_64) acl_libdirstem3=lib/amd64 ;; | ||
253 | esac | ||
254 | fi | ||
255 | ;; | ||
256 | *) | ||
257 | dnl If $CC generates code for a 32-bit ABI, the libraries are | ||
258 | dnl surely under $prefix/lib or $prefix/lib32, not $prefix/lib64. | ||
259 | dnl Similarly, if $CC generates code for a 64-bit ABI, the libraries | ||
260 | dnl are surely under $prefix/lib or $prefix/lib64, not $prefix/lib32. | ||
261 | dnl Find the compiler's search path. However, non-system compilers | ||
262 | dnl sometimes have odd library search paths. But we can't simply invoke | ||
263 | dnl '/usr/bin/gcc -print-search-dirs' because that would not take into | ||
264 | dnl account the -m32/-m31 or -m64 options from the $CC or $CFLAGS. | ||
265 | searchpath=`(LC_ALL=C $CC $CPPFLAGS $CFLAGS -print-search-dirs) 2>/dev/null \ | ||
266 | | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` | ||
267 | if test $HOST_CPU_C_ABI_32BIT != no; then | ||
268 | # 32-bit or unknown ABI. | ||
269 | if test -d /usr/lib32; then | ||
270 | acl_libdirstem2=lib32 | ||
271 | fi | ||
272 | fi | ||
273 | if test $HOST_CPU_C_ABI_32BIT != yes; then | ||
274 | # 64-bit or unknown ABI. | ||
275 | if test -d /usr/lib64; then | ||
276 | acl_libdirstem3=lib64 | ||
277 | fi | ||
278 | fi | ||
279 | if test -n "$searchpath"; then | ||
280 | acl_save_IFS="${IFS= }"; IFS=":" | ||
281 | for searchdir in $searchpath; do | ||
282 | if test -d "$searchdir"; then | ||
283 | case "$searchdir" in | ||
284 | */lib32/ | */lib32 ) acl_libdirstem2=lib32 ;; | ||
285 | */lib64/ | */lib64 ) acl_libdirstem3=lib64 ;; | ||
286 | */../ | */.. ) | ||
287 | # Better ignore directories of this form. They are misleading. | ||
288 | ;; | ||
289 | *) searchdir=`cd "$searchdir" && pwd` | ||
290 | case "$searchdir" in | ||
291 | */lib32 ) acl_libdirstem2=lib32 ;; | ||
292 | */lib64 ) acl_libdirstem3=lib64 ;; | ||
293 | esac ;; | ||
294 | esac | ||
295 | fi | ||
296 | done | ||
297 | IFS="$acl_save_IFS" | ||
298 | if test $HOST_CPU_C_ABI_32BIT = yes; then | ||
299 | # 32-bit ABI. | ||
300 | acl_libdirstem3= | ||
301 | fi | ||
302 | if test $HOST_CPU_C_ABI_32BIT = no; then | ||
303 | # 64-bit ABI. | ||
304 | acl_libdirstem2= | ||
305 | fi | ||
306 | fi | ||
307 | ;; | ||
308 | esac | ||
309 | test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" | ||
310 | test -n "$acl_libdirstem3" || acl_libdirstem3="$acl_libdirstem" | ||
311 | acl_cv_libdirstems="$acl_libdirstem,$acl_libdirstem2,$acl_libdirstem3" | ||
312 | ]) | ||
313 | dnl Decompose acl_cv_libdirstems into acl_libdirstem, acl_libdirstem2, and | ||
314 | dnl acl_libdirstem3. | ||
315 | changequote(,)dnl | ||
316 | acl_libdirstem=`echo "$acl_cv_libdirstems" | sed -e 's/,.*//'` | ||
317 | acl_libdirstem2=`echo "$acl_cv_libdirstems" | sed -e 's/^[^,]*,//' -e 's/,.*//'` | ||
318 | acl_libdirstem3=`echo "$acl_cv_libdirstems" | sed -e 's/^[^,]*,[^,]*,//' -e 's/,.*//'` | ||
319 | changequote([,])dnl | ||
224 | ]) | 320 | ]) |
@@ -1,17 +1,17 @@ | |||
1 | # nls.m4 serial 5 (gettext-0.18) | 1 | # nls.m4 serial 6 (gettext-0.20.2) |
2 | dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 Free Software Foundation, | 2 | dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016, 2019-2020 Free |
3 | dnl Inc. | 3 | dnl Software Foundation, Inc. |
4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
7 | dnl | 7 | dnl |
8 | dnl This file can can be used in projects which are not available under | 8 | dnl This file can be used in projects which are not available under |
9 | dnl the GNU General Public License or the GNU Library General Public | 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 | 10 | dnl License but which still want to provide support for the GNU gettext |
11 | dnl functionality. | 11 | dnl functionality. |
12 | dnl Please note that the actual code of the GNU gettext library is covered | 12 | dnl Please note that the actual code of the GNU gettext library is covered |
13 | dnl by the GNU Library General Public License, and the rest of the GNU | 13 | dnl by the GNU Lesser General Public License, and the rest of the GNU |
14 | dnl gettext package package is covered by the GNU General Public License. | 14 | dnl gettext package is covered by the GNU General Public License. |
15 | dnl They are *not* in the public domain. | 15 | dnl They are *not* in the public domain. |
16 | 16 | ||
17 | dnl Authors: | 17 | dnl Authors: |
@@ -1,35 +1,36 @@ | |||
1 | # po.m4 serial 17 (gettext-0.18) | 1 | # po.m4 serial 31 (gettext-0.20.2) |
2 | dnl Copyright (C) 1995-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1995-2014, 2016, 2018-2020 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
6 | dnl | 6 | dnl |
7 | dnl This file can can be used in projects which are not available under | 7 | dnl This file can be used in projects which are not available under |
8 | dnl the GNU General Public License or the GNU Library General Public | 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 | 9 | dnl License but which still want to provide support for the GNU gettext |
10 | dnl functionality. | 10 | dnl functionality. |
11 | dnl Please note that the actual code of the GNU gettext library is covered | 11 | dnl Please note that the actual code of the GNU gettext library is covered |
12 | dnl by the GNU Library General Public License, and the rest of the GNU | 12 | dnl by the GNU Lesser General Public License, and the rest of the GNU |
13 | dnl gettext package package is covered by the GNU General Public License. | 13 | dnl gettext package is covered by the GNU General Public License. |
14 | dnl They are *not* in the public domain. | 14 | dnl They are *not* in the public domain. |
15 | 15 | ||
16 | dnl Authors: | 16 | dnl Authors: |
17 | dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000. | 17 | dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000. |
18 | dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003. | 18 | dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003. |
19 | 19 | ||
20 | AC_PREREQ([2.50]) | 20 | AC_PREREQ([2.60]) |
21 | 21 | ||
22 | dnl Checks for all prerequisites of the po subdirectory. | 22 | dnl Checks for all prerequisites of the po subdirectory. |
23 | AC_DEFUN([AM_PO_SUBDIRS], | 23 | AC_DEFUN([AM_PO_SUBDIRS], |
24 | [ | 24 | [ |
25 | AC_REQUIRE([AC_PROG_MAKE_SET])dnl | 25 | AC_REQUIRE([AC_PROG_MAKE_SET])dnl |
26 | AC_REQUIRE([AC_PROG_INSTALL])dnl | 26 | AC_REQUIRE([AC_PROG_INSTALL])dnl |
27 | AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake | 27 | AC_REQUIRE([AC_PROG_MKDIR_P])dnl |
28 | AC_REQUIRE([AC_PROG_SED])dnl | ||
28 | AC_REQUIRE([AM_NLS])dnl | 29 | AC_REQUIRE([AM_NLS])dnl |
29 | 30 | ||
30 | dnl Release version of the gettext macros. This is used to ensure that | 31 | dnl Release version of the gettext macros. This is used to ensure that |
31 | dnl the gettext macros and po/Makefile.in.in are in sync. | 32 | dnl the gettext macros and po/Makefile.in.in are in sync. |
32 | AC_SUBST([GETTEXT_MACRO_VERSION], [0.18]) | 33 | AC_SUBST([GETTEXT_MACRO_VERSION], [0.20]) |
33 | 34 | ||
34 | dnl Perform the following tests also if --disable-nls has been given, | 35 | dnl Perform the following tests also if --disable-nls has been given, |
35 | dnl because they are needed for "make dist" to work. | 36 | dnl because they are needed for "make dist" to work. |
@@ -45,13 +46,6 @@ AC_DEFUN([AM_PO_SUBDIRS], | |||
45 | 46 | ||
46 | dnl Test whether it is GNU msgfmt >= 0.15. | 47 | dnl Test whether it is GNU msgfmt >= 0.15. |
47 | changequote(,)dnl | 48 | changequote(,)dnl |
48 | case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in | ||
49 | '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; | ||
50 | *) MSGFMT_015=$MSGFMT ;; | ||
51 | esac | ||
52 | changequote([,])dnl | ||
53 | AC_SUBST([MSGFMT_015]) | ||
54 | changequote(,)dnl | ||
55 | case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in | 49 | case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in |
56 | '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; | 50 | '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; |
57 | *) GMSGFMT_015=$GMSGFMT ;; | 51 | *) GMSGFMT_015=$GMSGFMT ;; |
@@ -82,11 +76,21 @@ changequote([,])dnl | |||
82 | AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, | 76 | AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, |
83 | [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) | 77 | [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) |
84 | 78 | ||
85 | dnl Installation directories. | 79 | dnl Test whether it is GNU msgmerge >= 0.20. |
86 | dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we | 80 | if LC_ALL=C $MSGMERGE --help | grep ' --for-msgfmt ' >/dev/null; then |
87 | dnl have to define it here, so that it can be used in po/Makefile. | 81 | MSGMERGE_FOR_MSGFMT_OPTION='--for-msgfmt' |
88 | test -n "$localedir" || localedir='${datadir}/locale' | 82 | else |
89 | AC_SUBST([localedir]) | 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]) | ||
90 | 94 | ||
91 | dnl Support for AM_XGETTEXT_OPTION. | 95 | dnl Support for AM_XGETTEXT_OPTION. |
92 | test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= | 96 | test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= |
@@ -102,7 +106,7 @@ changequote([,])dnl | |||
102 | case "$ac_file" in */Makefile.in) | 106 | case "$ac_file" in */Makefile.in) |
103 | # Adjust a relative srcdir. | 107 | # Adjust a relative srcdir. |
104 | ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` | 108 | ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` |
105 | ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" | 109 | ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` |
106 | ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` | 110 | ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` |
107 | # In autoconf-2.13 it is called $ac_given_srcdir. | 111 | # In autoconf-2.13 it is called $ac_given_srcdir. |
108 | # In autoconf-2.50 it is called $srcdir. | 112 | # In autoconf-2.50 it is called $srcdir. |
@@ -118,7 +122,8 @@ changequote([,])dnl | |||
118 | if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then | 122 | if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then |
119 | rm -f "$ac_dir/POTFILES" | 123 | rm -f "$ac_dir/POTFILES" |
120 | test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" | 124 | test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" |
121 | cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$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" | ||
122 | POMAKEFILEDEPS="POTFILES.in" | 127 | POMAKEFILEDEPS="POTFILES.in" |
123 | # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend | 128 | # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend |
124 | # on $ac_dir but don't depend on user-specified configuration | 129 | # on $ac_dir but don't depend on user-specified configuration |
@@ -128,14 +133,11 @@ changequote([,])dnl | |||
128 | if test -n "$OBSOLETE_ALL_LINGUAS"; then | 133 | if test -n "$OBSOLETE_ALL_LINGUAS"; then |
129 | test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" | 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" |
130 | fi | 135 | fi |
131 | ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` | 136 | ALL_LINGUAS=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` |
132 | # Hide the ALL_LINGUAS assigment from automake < 1.5. | ||
133 | eval 'ALL_LINGUAS''=$ALL_LINGUAS_' | ||
134 | POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" | 137 | POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" |
135 | else | 138 | else |
136 | # The set of available languages was given in configure.in. | 139 | # The set of available languages was given in configure.in. |
137 | # Hide the ALL_LINGUAS assigment from automake < 1.5. | 140 | ALL_LINGUAS=$OBSOLETE_ALL_LINGUAS |
138 | eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' | ||
139 | fi | 141 | fi |
140 | # Compute POFILES | 142 | # Compute POFILES |
141 | # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) | 143 | # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) |
@@ -206,9 +208,8 @@ changequote([,])dnl | |||
206 | esac | 208 | esac |
207 | done]], | 209 | done]], |
208 | [# Capture the value of obsolete ALL_LINGUAS because we need it to compute | 210 | [# Capture the value of obsolete ALL_LINGUAS because we need it to compute |
209 | # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it | 211 | # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. |
210 | # from automake < 1.5. | 212 | OBSOLETE_ALL_LINGUAS="$ALL_LINGUAS" |
211 | eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' | ||
212 | # Capture the value of LINGUAS because we need it to compute CATALOGS. | 213 | # Capture the value of LINGUAS because we need it to compute CATALOGS. |
213 | LINGUAS="${LINGUAS-%UNSET%}" | 214 | LINGUAS="${LINGUAS-%UNSET%}" |
214 | ]) | 215 | ]) |
@@ -226,7 +227,7 @@ AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], | |||
226 | changequote(,)dnl | 227 | changequote(,)dnl |
227 | # Adjust a relative srcdir. | 228 | # Adjust a relative srcdir. |
228 | ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` | 229 | ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` |
229 | ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" | 230 | ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` |
230 | ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` | 231 | ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` |
231 | # In autoconf-2.13 it is called $ac_given_srcdir. | 232 | # In autoconf-2.13 it is called $ac_given_srcdir. |
232 | # In autoconf-2.50 it is called $srcdir. | 233 | # In autoconf-2.50 it is called $srcdir. |
@@ -254,6 +255,7 @@ EOT | |||
254 | fi | 255 | fi |
255 | 256 | ||
256 | # A sed script that extracts the value of VARIABLE from a Makefile. | 257 | # A sed script that extracts the value of VARIABLE from a Makefile. |
258 | tab=`printf '\t'` | ||
257 | sed_x_variable=' | 259 | sed_x_variable=' |
258 | # Test if the hold space is empty. | 260 | # Test if the hold space is empty. |
259 | x | 261 | x |
@@ -261,9 +263,9 @@ s/P/P/ | |||
261 | x | 263 | x |
262 | ta | 264 | ta |
263 | # Yes it was empty. Look if we have the expected variable definition. | 265 | # Yes it was empty. Look if we have the expected variable definition. |
264 | /^[ ]*VARIABLE[ ]*=/{ | 266 | /^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=/{ |
265 | # Seen the first line of the variable definition. | 267 | # Seen the first line of the variable definition. |
266 | s/^[ ]*VARIABLE[ ]*=// | 268 | s/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=// |
267 | ba | 269 | ba |
268 | } | 270 | } |
269 | bd | 271 | bd |
@@ -308,15 +310,13 @@ changequote([,])dnl | |||
308 | fi | 310 | fi |
309 | if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then | 311 | if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then |
310 | # The LINGUAS file contains the set of available languages. | 312 | # The LINGUAS file contains the set of available languages. |
311 | ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` | 313 | ALL_LINGUAS=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` |
312 | POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" | 314 | POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" |
313 | else | 315 | else |
314 | # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS. | 316 | # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS. |
315 | sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'` | 317 | sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'` |
316 | ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"` | 318 | ALL_LINGUAS=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"` |
317 | fi | 319 | fi |
318 | # Hide the ALL_LINGUAS assigment from automake < 1.5. | ||
319 | eval 'ALL_LINGUAS''=$ALL_LINGUAS_' | ||
320 | # Compute POFILES | 320 | # Compute POFILES |
321 | # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) | 321 | # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) |
322 | # Compute UPDATEPOFILES | 322 | # Compute UPDATEPOFILES |
@@ -326,9 +326,9 @@ changequote([,])dnl | |||
326 | # Compute GMOFILES | 326 | # Compute GMOFILES |
327 | # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) | 327 | # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) |
328 | # Compute PROPERTIESFILES | 328 | # Compute PROPERTIESFILES |
329 | # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties) | 329 | # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(DOMAIN)_$(lang).properties) |
330 | # Compute CLASSFILES | 330 | # Compute CLASSFILES |
331 | # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class) | 331 | # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(DOMAIN)_$(lang).class) |
332 | # Compute QMFILES | 332 | # Compute QMFILES |
333 | # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm) | 333 | # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm) |
334 | # Compute MSGFILES | 334 | # Compute MSGFILES |
@@ -353,8 +353,8 @@ changequote([,])dnl | |||
353 | UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" | 353 | UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" |
354 | DUMMYPOFILES="$DUMMYPOFILES $lang.nop" | 354 | DUMMYPOFILES="$DUMMYPOFILES $lang.nop" |
355 | GMOFILES="$GMOFILES $srcdirpre$lang.gmo" | 355 | GMOFILES="$GMOFILES $srcdirpre$lang.gmo" |
356 | PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties" | 356 | PROPERTIESFILES="$PROPERTIESFILES \$(srcdir)/\$(DOMAIN)_$lang.properties" |
357 | CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class" | 357 | CLASSFILES="$CLASSFILES \$(srcdir)/\$(DOMAIN)_$lang.class" |
358 | QMFILES="$QMFILES $srcdirpre$lang.qm" | 358 | QMFILES="$QMFILES $srcdirpre$lang.qm" |
359 | frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` | 359 | frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` |
360 | MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg" | 360 | MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg" |
@@ -405,14 +405,15 @@ changequote([,])dnl | |||
405 | fi | 405 | fi |
406 | 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" | 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'` | ||
408 | if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then | 409 | if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then |
409 | # Add dependencies that cannot be formulated as a simple suffix rule. | 410 | # Add dependencies that cannot be formulated as a simple suffix rule. |
410 | for lang in $ALL_LINGUAS; do | 411 | for lang in $ALL_LINGUAS; do |
411 | frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` | 412 | frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` |
412 | cat >> "$ac_file.tmp" <<EOF | 413 | cat >> "$ac_file.tmp" <<EOF |
413 | $frobbedlang.msg: $lang.po | 414 | $frobbedlang.msg: $lang.po |
414 | @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \ | 415 | ${tab}@echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \ |
415 | \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; } | 416 | ${tab}\$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; } |
416 | EOF | 417 | EOF |
417 | done | 418 | done |
418 | fi | 419 | fi |
@@ -422,8 +423,8 @@ EOF | |||
422 | 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/'` | 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/'` |
423 | cat >> "$ac_file.tmp" <<EOF | 424 | cat >> "$ac_file.tmp" <<EOF |
424 | $frobbedlang/\$(DOMAIN).resources.dll: $lang.po | 425 | $frobbedlang/\$(DOMAIN).resources.dll: $lang.po |
425 | @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \ | 426 | ${tab}@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \ |
426 | \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; } | 427 | ${tab}\$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; } |
427 | EOF | 428 | EOF |
428 | done | 429 | done |
429 | fi | 430 | fi |
diff --git a/m4/progtest.m4 b/m4/progtest.m4 index 2d804ac..f28010a 100644 --- a/m4/progtest.m4 +++ b/m4/progtest.m4 | |||
@@ -1,16 +1,16 @@ | |||
1 | # progtest.m4 serial 6 (gettext-0.18) | 1 | # progtest.m4 serial 8 (gettext-0.20.2) |
2 | dnl Copyright (C) 1996-2003, 2005, 2008-2010 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1996-2003, 2005, 2008-2020 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
6 | dnl | 6 | dnl |
7 | dnl This file can can be used in projects which are not available under | 7 | dnl This file can be used in projects which are not available under |
8 | dnl the GNU General Public License or the GNU Library General Public | 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 | 9 | dnl License but which still want to provide support for the GNU gettext |
10 | dnl functionality. | 10 | dnl functionality. |
11 | dnl Please note that the actual code of the GNU gettext library is covered | 11 | dnl Please note that the actual code of the GNU gettext library is covered |
12 | dnl by the GNU Library General Public License, and the rest of the GNU | 12 | dnl by the GNU Lesser General Public License, and the rest of the GNU |
13 | dnl gettext package package is covered by the GNU General Public License. | 13 | dnl gettext package is covered by the GNU General Public License. |
14 | dnl They are *not* in the public domain. | 14 | dnl They are *not* in the public domain. |
15 | 15 | ||
16 | dnl Authors: | 16 | dnl Authors: |
@@ -27,15 +27,14 @@ AC_DEFUN([AM_PATH_PROG_WITH_TEST], | |||
27 | # Prepare PATH_SEPARATOR. | 27 | # Prepare PATH_SEPARATOR. |
28 | # The user is always right. | 28 | # The user is always right. |
29 | if test "${PATH_SEPARATOR+set}" != set; then | 29 | if test "${PATH_SEPARATOR+set}" != set; then |
30 | echo "#! /bin/sh" >conf$$.sh | 30 | # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which |
31 | echo "exit 0" >>conf$$.sh | 31 | # contains only /bin. Note that ksh looks also at the FPATH variable, |
32 | chmod +x conf$$.sh | 32 | # so we have to set that as well for the test. |
33 | if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then | 33 | PATH_SEPARATOR=: |
34 | PATH_SEPARATOR=';' | 34 | (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ |
35 | else | 35 | && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ |
36 | PATH_SEPARATOR=: | 36 | || PATH_SEPARATOR=';' |
37 | fi | 37 | } |
38 | rm -f conf$$.sh | ||
39 | fi | 38 | fi |
40 | 39 | ||
41 | # Find out how to test for executable files. Don't use a zero-byte file, | 40 | # Find out how to test for executable files. Don't use a zero-byte file, |