aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2022-10-24 09:04:59 +0200
committerChristian Grothoff <christian@grothoff.org>2022-10-24 09:04:59 +0200
commit82ba0d60eb4868b605dc596a8fa46838e1cc766e (patch)
treebdf625e45be7f92685c0491711a5b5e02841103a
parent4e8db942034383e0d03f71f2673385f4a669673d (diff)
downloadgnunet-ext-82ba0d60eb4868b605dc596a8fa46838e1cc766e.tar.gz
gnunet-ext-82ba0d60eb4868b605dc596a8fa46838e1cc766e.zip
-update autotools/gettext
-rw-r--r--.gitignore5
-rw-r--r--ABOUT-NLS1283
-rw-r--r--ChangeLog14
-rwxr-xr-xconfig.rpath120
-rw-r--r--configure.ac9
-rw-r--r--m4/gettext.m4155
-rw-r--r--m4/host-cpu-c-abi.m4675
-rw-r--r--m4/iconv.m4176
-rw-r--r--m4/intlmacosx.m465
-rw-r--r--m4/lib-ld.m4208
-rw-r--r--m4/lib-link.m4206
-rw-r--r--m4/lib-prefix.m4238
-rw-r--r--m4/nls.m414
-rw-r--r--m4/po.m493
-rw-r--r--m4/progtest.m429
-rw-r--r--po/ChangeLog9
-rw-r--r--po/Makefile.in.in186
-rw-r--r--po/Rules-quot19
-rw-r--r--po/en@boldquot.header2
-rw-r--r--po/en@quot.header2
-rw-r--r--po/insert-header.sin5
-rw-r--r--po/remove-potcdate.sin8
-rw-r--r--src/ext/Makefile.am6
23 files changed, 1686 insertions, 1841 deletions
diff --git a/.gitignore b/.gitignore
index 13020e7..96427a6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -39,3 +39,8 @@ confdefs.c
39confdefs.err 39confdefs.err
40gnunet_ext_config.h 40gnunet_ext_config.h
41gnunet_ext_config.h.in 41gnunet_ext_config.h.in
42m4/libtool.m4
43m4/ltoptions.m4
44m4/ltsugar.m4
45m4/ltversion.m4
46m4/lt~obsolete.m4 \ No newline at end of file
diff --git a/ABOUT-NLS b/ABOUT-NLS
index b1de1b6..0a9d56d 100644
--- a/ABOUT-NLS
+++ b/ABOUT-NLS
@@ -1,1282 +1 @@
11 Notes on the Free Translation Project <https://www.gnu.org/software/gettext/manual/html_node/Users.html>
2***************************************
3
4Free software is going international! The Free Translation Project is
5a way to get maintainers of free software, translators, and users all
6together, so that free software will gradually become able to speak many
7languages. A few packages already provide translations for their
8messages.
9
10 If you found this `ABOUT-NLS' file inside a distribution, you may
11assume that the distributed package does use GNU `gettext' internally,
12itself available at your nearest GNU archive site. But you do _not_
13need to install GNU `gettext' prior to configuring, installing or using
14this package with messages translated.
15
16 Installers will find here some useful hints. These notes also
17explain how users should proceed for getting the programs to use the
18available translations. They tell how people wanting to contribute and
19work on translations can contact the appropriate team.
20
211.1 INSTALL Matters
22===================
23
24Some packages are "localizable" when properly installed; the programs
25they contain can be made to speak your own native language. Most such
26packages use GNU `gettext'. Other packages have their own ways to
27internationalization, predating GNU `gettext'.
28
29 By default, this package will be installed to allow translation of
30messages. It will automatically detect whether the system already
31provides the GNU `gettext' functions. Installers may use special
32options at configuration time for changing the default behaviour. The
33command:
34
35 ./configure --disable-nls
36
37will _totally_ disable translation of messages.
38
39 When you already have GNU `gettext' installed on your system and run
40configure without an option for your new package, `configure' will
41probably detect the previously built and installed `libintl' library
42and will decide to use it. If not, you may have to to use the
43`--with-libintl-prefix' option to tell `configure' where to look for it.
44
45 Internationalized packages usually have many `po/LL.po' files, where
46LL gives an ISO 639 two-letter code identifying the language. Unless
47translations have been forbidden at `configure' time by using the
48`--disable-nls' switch, all available translations are installed
49together with the package. However, the environment variable `LINGUAS'
50may be set, prior to configuration, to limit the installed set.
51`LINGUAS' should then contain a space separated list of two-letter
52codes, stating which languages are allowed.
53
541.2 Using This Package
55======================
56
57As a user, if your language has been installed for this package, you
58only have to set the `LANG' environment variable to the appropriate
59`LL_CC' combination. If you happen to have the `LC_ALL' or some other
60`LC_xxx' environment variables set, you should unset them before
61setting `LANG', otherwise the setting of `LANG' will not have the
62desired effect. Here `LL' is an ISO 639 two-letter language code, and
63`CC' is an ISO 3166 two-letter country code. For example, let's
64suppose that you speak German and live in Germany. At the shell
65prompt, merely execute `setenv LANG de_DE' (in `csh'),
66`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
67This can be done from your `.login' or `.profile' file, once and for
68all.
69
70 You might think that the country code specification is redundant.
71But in fact, some languages have dialects in different countries. For
72example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The
73country code serves to distinguish the dialects.
74
75 The locale naming convention of `LL_CC', with `LL' denoting the
76language and `CC' denoting the country, is the one use on systems based
77on GNU libc. On other systems, some variations of this scheme are
78used, such as `LL' or `LL_CC.ENCODING'. You can get the list of
79locales supported by your system for your language by running the
80command `locale -a | grep '^LL''.
81
82 Not all programs have translations for all languages. By default, an
83English message is shown in place of a nonexistent translation. If you
84understand other languages, you can set up a priority list of languages.
85This is done through a different environment variable, called
86`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG'
87for the purpose of message handling, but you still need to have `LANG'
88set to the primary language; this is required by other parts of the
89system libraries. For example, some Swedish users who would rather
90read translations in German than English for when Swedish is not
91available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
92
93 Special advice for Norwegian users: The language code for Norwegian
94bokma*l changed from `no' to `nb' recently (in 2003). During the
95transition period, while some message catalogs for this language are
96installed under `nb' and some older ones under `no', it's recommended
97for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and
98older translations are used.
99
100 In the `LANGUAGE' environment variable, but not in the `LANG'
101environment variable, `LL_CC' combinations can be abbreviated as `LL'
102to denote the language's main dialect. For example, `de' is equivalent
103to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
104(Portuguese as spoken in Portugal) in this context.
105
1061.3 Translating Teams
107=====================
108
109For the Free Translation Project to be a success, we need interested
110people who like their own language and write it well, and who are also
111able to synergize with other translators speaking the same language.
112Each translation team has its own mailing list. The up-to-date list of
113teams can be found at the Free Translation Project's homepage,
114`http://translationproject.org/', in the "Teams" area.
115
116 If you'd like to volunteer to _work_ at translating messages, you
117should become a member of the translating team for your own language.
118The subscribing address is _not_ the same as the list itself, it has
119`-request' appended. For example, speakers of Swedish can send a
120message to `sv-request@li.org', having this message body:
121
122 subscribe
123
124 Keep in mind that team members are expected to participate
125_actively_ in translations, or at solving translational difficulties,
126rather than merely lurking around. If your team does not exist yet and
127you want to start one, or if you are unsure about what to do or how to
128get started, please write to `coordinator@translationproject.org' to
129reach the coordinator for all translator teams.
130
131 The English team is special. It works at improving and uniformizing
132the terminology in use. Proven linguistic skills are praised more than
133programming skills, here.
134
1351.4 Available Packages
136======================
137
138Languages are not equally supported in all packages. The following
139matrix shows the current state of internationalization, as of June
1402010. The matrix shows, in regard of each package, for which languages
141PO files have been submitted to translation coordination, with a
142translation percentage of at least 50%.
143
144 Ready PO files af am an ar as ast az be be@latin bg bn_IN bs ca
145 +--------------------------------------------------+
146 a2ps | [] [] |
147 aegis | |
148 ant-phone | |
149 anubis | |
150 aspell | [] [] |
151 bash | |
152 bfd | |
153 bibshelf | [] |
154 binutils | |
155 bison | |
156 bison-runtime | [] |
157 bluez-pin | [] [] |
158 bombono-dvd | |
159 buzztard | |
160 cflow | |
161 clisp | |
162 coreutils | [] [] |
163 cpio | |
164 cppi | |
165 cpplib | [] |
166 cryptsetup | |
167 dfarc | |
168 dialog | [] [] |
169 dico | |
170 diffutils | [] |
171 dink | |
172 doodle | |
173 e2fsprogs | [] |
174 enscript | [] |
175 exif | |
176 fetchmail | [] |
177 findutils | [] |
178 flex | [] |
179 freedink | |
180 gas | |
181 gawk | [] [] |
182 gcal | [] |
183 gcc | |
184 gettext-examples | [] [] [] [] |
185 gettext-runtime | [] [] |
186 gettext-tools | [] [] |
187 gip | [] |
188 gjay | |
189 gliv | [] |
190 glunarclock | [] [] |
191 gnubiff | |
192 gnucash | [] |
193 gnuedu | |
194 gnulib | |
195 gnunet | |
196 gnunet-gtk | |
197 gnutls | |
198 gold | |
199 gpe-aerial | |
200 gpe-beam | |
201 gpe-bluetooth | |
202 gpe-calendar | |
203 gpe-clock | [] |
204 gpe-conf | |
205 gpe-contacts | |
206 gpe-edit | |
207 gpe-filemanager | |
208 gpe-go | |
209 gpe-login | |
210 gpe-ownerinfo | [] |
211 gpe-package | |
212 gpe-sketchbook | |
213 gpe-su | [] |
214 gpe-taskmanager | [] |
215 gpe-timesheet | [] |
216 gpe-today | [] |
217 gpe-todo | |
218 gphoto2 | |
219 gprof | [] |
220 gpsdrive | |
221 gramadoir | |
222 grep | |
223 grub | [] [] |
224 gsasl | |
225 gss | |
226 gst-plugins-bad | [] |
227 gst-plugins-base | [] |
228 gst-plugins-good | [] |
229 gst-plugins-ugly | [] |
230 gstreamer | [] [] [] |
231 gtick | |
232 gtkam | [] |
233 gtkorphan | [] |
234 gtkspell | [] [] [] |
235 gutenprint | |
236 hello | [] |
237 help2man | |
238 hylafax | |
239 idutils | |
240 indent | [] [] |
241 iso_15924 | |
242 iso_3166 | [] [] [] [] [] [] [] |
243 iso_3166_2 | |
244 iso_4217 | |
245 iso_639 | [] [] [] [] |
246 iso_639_3 | |
247 jwhois | |
248 kbd | |
249 keytouch | [] |
250 keytouch-editor | |
251 keytouch-keyboa... | [] |
252 klavaro | [] |
253 latrine | |
254 ld | [] |
255 leafpad | [] [] |
256 libc | [] [] |
257 libexif | () |
258 libextractor | |
259 libgnutls | |
260 libgpewidget | |
261 libgpg-error | |
262 libgphoto2 | |
263 libgphoto2_port | |
264 libgsasl | |
265 libiconv | [] |
266 libidn | |
267 lifelines | |
268 liferea | [] [] |
269 lilypond | |
270 linkdr | [] |
271 lordsawar | |
272 lprng | |
273 lynx | [] |
274 m4 | |
275 mailfromd | |
276 mailutils | |
277 make | |
278 man-db | |
279 man-db-manpages | |
280 minicom | |
281 mkisofs | |
282 myserver | |
283 nano | [] [] |
284 opcodes | |
285 parted | |
286 pies | |
287 popt | |
288 psmisc | |
289 pspp | [] |
290 pwdutils | |
291 radius | [] |
292 recode | [] [] |
293 rosegarden | |
294 rpm | |
295 rush | |
296 sarg | |
297 screem | |
298 scrollkeeper | [] [] [] |
299 sed | [] [] |
300 sharutils | [] [] |
301 shishi | |
302 skencil | |
303 solfege | |
304 solfege-manual | |
305 soundtracker | |
306 sp | |
307 sysstat | |
308 tar | [] |
309 texinfo | |
310 tin | |
311 unicode-han-tra... | |
312 unicode-transla... | |
313 util-linux-ng | [] |
314 vice | |
315 vmm | |
316 vorbis-tools | |
317 wastesedge | |
318 wdiff | |
319 wget | [] [] |
320 wyslij-po | |
321 xchat | [] [] [] [] |
322 xdg-user-dirs | [] [] [] [] [] [] [] [] [] |
323 xkeyboard-config | [] [] |
324 +--------------------------------------------------+
325 af am an ar as ast az be be@latin bg bn_IN bs ca
326 6 0 1 2 3 19 1 10 3 28 3 1 38
327
328 crh cs da de el en en_GB en_ZA eo es et eu fa
329 +-------------------------------------------------+
330 a2ps | [] [] [] [] [] [] [] |
331 aegis | [] [] [] |
332 ant-phone | [] () |
333 anubis | [] [] |
334 aspell | [] [] [] [] [] |
335 bash | [] [] [] |
336 bfd | [] |
337 bibshelf | [] [] [] |
338 binutils | [] |
339 bison | [] [] |
340 bison-runtime | [] [] [] [] |
341 bluez-pin | [] [] [] [] [] [] |
342 bombono-dvd | [] |
343 buzztard | [] [] [] |
344 cflow | [] [] |
345 clisp | [] [] [] [] |
346 coreutils | [] [] [] [] |
347 cpio | |
348 cppi | |
349 cpplib | [] [] [] |
350 cryptsetup | [] |
351 dfarc | [] [] [] |
352 dialog | [] [] [] [] [] |
353 dico | |
354 diffutils | [] [] [] [] [] [] |
355 dink | [] [] [] |
356 doodle | [] |
357 e2fsprogs | [] [] [] |
358 enscript | [] [] [] |
359 exif | () [] [] |
360 fetchmail | [] [] () [] [] [] |
361 findutils | [] [] [] |
362 flex | [] [] |
363 freedink | [] [] [] |
364 gas | [] |
365 gawk | [] [] [] |
366 gcal | [] |
367 gcc | [] [] |
368 gettext-examples | [] [] [] [] |
369 gettext-runtime | [] [] [] [] |
370 gettext-tools | [] [] [] |
371 gip | [] [] [] [] |
372 gjay | [] |
373 gliv | [] [] [] |
374 glunarclock | [] [] |
375 gnubiff | () |
376 gnucash | [] () () () () |
377 gnuedu | [] [] |
378 gnulib | [] [] |
379 gnunet | |
380 gnunet-gtk | [] |
381 gnutls | [] [] |
382 gold | [] |
383 gpe-aerial | [] [] [] [] |
384 gpe-beam | [] [] [] [] |
385 gpe-bluetooth | [] [] |
386 gpe-calendar | [] |
387 gpe-clock | [] [] [] [] |
388 gpe-conf | [] [] [] |
389 gpe-contacts | [] [] [] |
390 gpe-edit | [] [] |
391 gpe-filemanager | [] [] [] |
392 gpe-go | [] [] [] [] |
393 gpe-login | [] [] |
394 gpe-ownerinfo | [] [] [] [] |
395 gpe-package | [] [] [] |
396 gpe-sketchbook | [] [] [] [] |
397 gpe-su | [] [] [] [] |
398 gpe-taskmanager | [] [] [] [] |
399 gpe-timesheet | [] [] [] [] |
400 gpe-today | [] [] [] [] |
401 gpe-todo | [] [] [] |
402 gphoto2 | [] [] () [] [] [] |
403 gprof | [] [] [] |
404 gpsdrive | [] [] [] |
405 gramadoir | [] [] [] |
406 grep | [] |
407 grub | [] [] |
408 gsasl | [] |
409 gss | |
410 gst-plugins-bad | [] [] [] [] [] |
411 gst-plugins-base | [] [] [] [] [] |
412 gst-plugins-good | [] [] [] [] [] [] |
413 gst-plugins-ugly | [] [] [] [] [] [] |
414 gstreamer | [] [] [] [] [] |
415 gtick | [] () [] |
416 gtkam | [] [] () [] [] |
417 gtkorphan | [] [] [] [] |
418 gtkspell | [] [] [] [] [] [] [] |
419 gutenprint | [] [] [] |
420 hello | [] [] [] [] |
421 help2man | [] |
422 hylafax | [] [] |
423 idutils | [] [] |
424 indent | [] [] [] [] [] [] [] |
425 iso_15924 | [] () [] [] |
426 iso_3166 | [] [] [] [] () [] [] [] () |
427 iso_3166_2 | () |
428 iso_4217 | [] [] [] () [] [] |
429 iso_639 | [] [] [] [] () [] [] |
430 iso_639_3 | [] |
431 jwhois | [] |
432 kbd | [] [] [] [] [] |
433 keytouch | [] [] |
434 keytouch-editor | [] [] |
435 keytouch-keyboa... | [] |
436 klavaro | [] [] [] [] |
437 latrine | [] () |
438 ld | [] [] |
439 leafpad | [] [] [] [] [] [] |
440 libc | [] [] [] [] |
441 libexif | [] [] () |
442 libextractor | |
443 libgnutls | [] |
444 libgpewidget | [] [] |
445 libgpg-error | [] [] |
446 libgphoto2 | [] () |
447 libgphoto2_port | [] () [] |
448 libgsasl | |
449 libiconv | [] [] [] [] [] |
450 libidn | [] [] [] |
451 lifelines | [] () |
452 liferea | [] [] [] [] [] |
453 lilypond | [] [] [] |
454 linkdr | [] [] [] |
455 lordsawar | [] |
456 lprng | |
457 lynx | [] [] [] [] |
458 m4 | [] [] [] [] |
459 mailfromd | |
460 mailutils | [] |
461 make | [] [] [] |
462 man-db | |
463 man-db-manpages | |
464 minicom | [] [] [] [] |
465 mkisofs | |
466 myserver | |
467 nano | [] [] [] |
468 opcodes | [] [] |
469 parted | [] [] |
470 pies | |
471 popt | [] [] [] [] [] |
472 psmisc | [] [] [] |
473 pspp | [] |
474 pwdutils | [] |
475 radius | [] |
476 recode | [] [] [] [] [] [] |
477 rosegarden | () () () |
478 rpm | [] [] [] |
479 rush | |
480 sarg | |
481 screem | |
482 scrollkeeper | [] [] [] [] [] |
483 sed | [] [] [] [] [] [] |
484 sharutils | [] [] [] [] |
485 shishi | |
486 skencil | [] () [] |
487 solfege | [] [] [] |
488 solfege-manual | [] [] |
489 soundtracker | [] [] [] |
490 sp | [] |
491 sysstat | [] [] [] |
492 tar | [] [] [] [] |
493 texinfo | [] [] [] |
494 tin | [] [] |
495 unicode-han-tra... | |
496 unicode-transla... | |
497 util-linux-ng | [] [] [] [] |
498 vice | () () |
499 vmm | [] |
500 vorbis-tools | [] [] |
501 wastesedge | [] |
502 wdiff | [] [] |
503 wget | [] [] [] |
504 wyslij-po | |
505 xchat | [] [] [] [] [] |
506 xdg-user-dirs | [] [] [] [] [] [] [] [] [] |
507 xkeyboard-config | [] [] [] [] [] [] |
508 +-------------------------------------------------+
509 crh cs da de el en en_GB en_ZA eo es et eu fa
510 5 64 105 117 18 1 8 0 28 89 18 19 0
511
512 fi fr ga gl gu he hi hr hu hy id is it ja ka kn
513 +----------------------------------------------------+
514 a2ps | [] [] [] [] |
515 aegis | [] [] |
516 ant-phone | [] [] |
517 anubis | [] [] [] [] |
518 aspell | [] [] [] [] |
519 bash | [] [] [] [] |
520 bfd | [] [] [] |
521 bibshelf | [] [] [] [] [] |
522 binutils | [] [] [] |
523 bison | [] [] [] [] |
524 bison-runtime | [] [] [] [] [] [] |
525 bluez-pin | [] [] [] [] [] [] [] [] |
526 bombono-dvd | [] |
527 buzztard | [] |
528 cflow | [] [] [] |
529 clisp | [] |
530 coreutils | [] [] [] [] [] |
531 cpio | [] [] [] [] |
532 cppi | [] [] |
533 cpplib | [] [] [] |
534 cryptsetup | [] [] [] |
535 dfarc | [] [] [] |
536 dialog | [] [] [] [] [] [] [] |
537 dico | |
538 diffutils | [] [] [] [] [] [] [] [] [] |
539 dink | [] |
540 doodle | [] [] |
541 e2fsprogs | [] [] |
542 enscript | [] [] [] [] |
543 exif | [] [] [] [] [] [] |
544 fetchmail | [] [] [] [] |
545 findutils | [] [] [] [] [] [] |
546 flex | [] [] [] |
547 freedink | [] [] [] |
548 gas | [] [] |
549 gawk | [] [] [] [] () [] |
550 gcal | [] |
551 gcc | [] |
552 gettext-examples | [] [] [] [] [] [] [] |
553 gettext-runtime | [] [] [] [] [] [] |
554 gettext-tools | [] [] [] [] |
555 gip | [] [] [] [] [] [] |
556 gjay | [] |
557 gliv | [] () |
558 glunarclock | [] [] [] [] |
559 gnubiff | () [] () |
560 gnucash | () () () () () [] |
561 gnuedu | [] [] |
562 gnulib | [] [] [] [] [] [] |
563 gnunet | |
564 gnunet-gtk | [] |
565 gnutls | [] [] |
566 gold | [] [] |
567 gpe-aerial | [] [] [] |
568 gpe-beam | [] [] [] [] |
569 gpe-bluetooth | [] [] [] [] |
570 gpe-calendar | [] [] |
571 gpe-clock | [] [] [] [] [] |
572 gpe-conf | [] [] [] [] |
573 gpe-contacts | [] [] [] [] |
574 gpe-edit | [] [] [] |
575 gpe-filemanager | [] [] [] [] |
576 gpe-go | [] [] [] [] [] |
577 gpe-login | [] [] [] |
578 gpe-ownerinfo | [] [] [] [] [] |
579 gpe-package | [] [] [] |
580 gpe-sketchbook | [] [] [] [] |
581 gpe-su | [] [] [] [] [] [] |
582 gpe-taskmanager | [] [] [] [] [] |
583 gpe-timesheet | [] [] [] [] [] |
584 gpe-today | [] [] [] [] [] [] [] |
585 gpe-todo | [] [] [] |
586 gphoto2 | [] [] [] [] [] [] |
587 gprof | [] [] [] [] |
588 gpsdrive | [] [] [] |
589 gramadoir | [] [] [] |
590 grep | [] [] |
591 grub | [] [] [] [] |
592 gsasl | [] [] [] [] [] |
593 gss | [] [] [] [] [] |
594 gst-plugins-bad | [] [] [] [] [] [] |
595 gst-plugins-base | [] [] [] [] [] [] |
596 gst-plugins-good | [] [] [] [] [] [] |
597 gst-plugins-ugly | [] [] [] [] [] [] |
598 gstreamer | [] [] [] [] [] |
599 gtick | [] [] [] [] [] |
600 gtkam | [] [] [] [] [] |
601 gtkorphan | [] [] [] |
602 gtkspell | [] [] [] [] [] [] [] [] [] |
603 gutenprint | [] [] [] [] |
604 hello | [] [] [] |
605 help2man | [] [] |
606 hylafax | [] |
607 idutils | [] [] [] [] [] [] |
608 indent | [] [] [] [] [] [] [] [] |
609 iso_15924 | [] () [] [] |
610 iso_3166 | [] () [] [] [] [] [] [] [] [] [] [] |
611 iso_3166_2 | () [] [] [] |
612 iso_4217 | [] () [] [] [] [] |
613 iso_639 | [] () [] [] [] [] [] [] [] |
614 iso_639_3 | () [] [] |
615 jwhois | [] [] [] [] [] |
616 kbd | [] [] |
617 keytouch | [] [] [] [] [] [] |
618 keytouch-editor | [] [] [] [] [] |
619 keytouch-keyboa... | [] [] [] [] [] |
620 klavaro | [] [] |
621 latrine | [] [] [] |
622 ld | [] [] [] [] |
623 leafpad | [] [] [] [] [] [] [] () |
624 libc | [] [] [] [] [] |
625 libexif | [] |
626 libextractor | |
627 libgnutls | [] [] |
628 libgpewidget | [] [] [] [] |
629 libgpg-error | [] [] |
630 libgphoto2 | [] [] [] |
631 libgphoto2_port | [] [] [] |
632 libgsasl | [] [] [] [] [] |
633 libiconv | [] [] [] [] [] [] |
634 libidn | [] [] [] [] |
635 lifelines | () |
636 liferea | [] [] [] [] |
637 lilypond | [] [] |
638 linkdr | [] [] [] [] [] |
639 lordsawar | |
640 lprng | [] |
641 lynx | [] [] [] [] [] |
642 m4 | [] [] [] [] [] [] |
643 mailfromd | |
644 mailutils | [] [] |
645 make | [] [] [] [] [] [] [] [] [] |
646 man-db | [] [] |
647 man-db-manpages | [] |
648 minicom | [] [] [] [] [] |
649 mkisofs | [] [] [] [] |
650 myserver | |
651 nano | [] [] [] [] [] [] |
652 opcodes | [] [] [] [] |
653 parted | [] [] [] [] |
654 pies | |
655 popt | [] [] [] [] [] [] [] [] [] |
656 psmisc | [] [] [] |
657 pspp | |
658 pwdutils | [] [] |
659 radius | [] [] |
660 recode | [] [] [] [] [] [] [] [] |
661 rosegarden | () () () () () |
662 rpm | [] [] |
663 rush | |
664 sarg | [] |
665 screem | [] [] |
666 scrollkeeper | [] [] [] [] |
667 sed | [] [] [] [] [] [] [] [] |
668 sharutils | [] [] [] [] [] [] [] |
669 shishi | [] |
670 skencil | [] |
671 solfege | [] [] [] [] |
672 solfege-manual | [] [] |
673 soundtracker | [] [] |
674 sp | [] () |
675 sysstat | [] [] [] [] [] |
676 tar | [] [] [] [] [] [] [] |
677 texinfo | [] [] [] [] |
678 tin | [] |
679 unicode-han-tra... | |
680 unicode-transla... | [] [] |
681 util-linux-ng | [] [] [] [] [] [] |
682 vice | () () () |
683 vmm | [] |
684 vorbis-tools | [] |
685 wastesedge | () () |
686 wdiff | [] |
687 wget | [] [] [] [] [] [] [] [] |
688 wyslij-po | [] [] [] |
689 xchat | [] [] [] [] [] [] [] [] [] |
690 xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] |
691 xkeyboard-config | [] [] [] [] [] |
692 +----------------------------------------------------+
693 fi fr ga gl gu he hi hr hu hy id is it ja ka kn
694 105 121 53 20 4 8 3 5 53 2 120 5 84 67 0 4
695
696 ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne
697 +-----------------------------------------------+
698 a2ps | [] |
699 aegis | |
700 ant-phone | |
701 anubis | [] [] |
702 aspell | [] |
703 bash | |
704 bfd | |
705 bibshelf | [] [] |
706 binutils | |
707 bison | [] |
708 bison-runtime | [] [] [] [] [] |
709 bluez-pin | [] [] [] [] [] |
710 bombono-dvd | |
711 buzztard | |
712 cflow | |
713 clisp | |
714 coreutils | [] |
715 cpio | |
716 cppi | |
717 cpplib | |
718 cryptsetup | |
719 dfarc | [] |
720 dialog | [] [] [] [] [] |
721 dico | |
722 diffutils | [] [] |
723 dink | |
724 doodle | |
725 e2fsprogs | |
726 enscript | |
727 exif | [] |
728 fetchmail | |
729 findutils | |
730 flex | |
731 freedink | [] |
732 gas | |
733 gawk | |
734 gcal | |
735 gcc | |
736 gettext-examples | [] [] [] [] |
737 gettext-runtime | [] |
738 gettext-tools | [] |
739 gip | [] [] |
740 gjay | |
741 gliv | |
742 glunarclock | [] |
743 gnubiff | |
744 gnucash | () () () () |
745 gnuedu | |
746 gnulib | |
747 gnunet | |
748 gnunet-gtk | |
749 gnutls | [] |
750 gold | |
751 gpe-aerial | [] |
752 gpe-beam | [] |
753 gpe-bluetooth | [] [] |
754 gpe-calendar | [] |
755 gpe-clock | [] [] [] [] [] |
756 gpe-conf | [] [] |
757 gpe-contacts | [] [] |
758 gpe-edit | [] |
759 gpe-filemanager | [] [] |
760 gpe-go | [] [] [] |
761 gpe-login | [] |
762 gpe-ownerinfo | [] [] |
763 gpe-package | [] [] |
764 gpe-sketchbook | [] [] |
765 gpe-su | [] [] [] [] [] [] |
766 gpe-taskmanager | [] [] [] [] [] [] |
767 gpe-timesheet | [] [] |
768 gpe-today | [] [] [] [] |
769 gpe-todo | [] [] |
770 gphoto2 | |
771 gprof | [] |
772 gpsdrive | |
773 gramadoir | |
774 grep | |
775 grub | |
776 gsasl | |
777 gss | |
778 gst-plugins-bad | [] [] [] [] |
779 gst-plugins-base | [] [] |
780 gst-plugins-good | [] [] |
781 gst-plugins-ugly | [] [] [] [] [] |
782 gstreamer | |
783 gtick | |
784 gtkam | [] |
785 gtkorphan | [] [] |
786 gtkspell | [] [] [] [] [] [] [] |
787 gutenprint | |
788 hello | [] [] [] |
789 help2man | |
790 hylafax | |
791 idutils | |
792 indent | |
793 iso_15924 | [] [] |
794 iso_3166 | [] [] () [] [] [] [] [] |
795 iso_3166_2 | |
796 iso_4217 | [] [] |
797 iso_639 | [] [] |
798 iso_639_3 | [] |
799 jwhois | [] |
800 kbd | |
801 keytouch | [] |
802 keytouch-editor | [] |
803 keytouch-keyboa... | [] |
804 klavaro | [] |
805 latrine | [] |
806 ld | |
807 leafpad | [] [] [] |
808 libc | [] |
809 libexif | |
810 libextractor | |
811 libgnutls | [] |
812 libgpewidget | [] [] |
813 libgpg-error | |
814 libgphoto2 | |
815 libgphoto2_port | |
816 libgsasl | |
817 libiconv | |
818 libidn | |
819 lifelines | |
820 liferea | |
821 lilypond | |
822 linkdr | |
823 lordsawar | |
824 lprng | |
825 lynx | |
826 m4 | |
827 mailfromd | |
828 mailutils | |
829 make | [] |
830 man-db | |
831 man-db-manpages | |
832 minicom | [] |
833 mkisofs | |
834 myserver | |
835 nano | [] [] |
836 opcodes | |
837 parted | |
838 pies | |
839 popt | [] [] [] |
840 psmisc | |
841 pspp | |
842 pwdutils | |
843 radius | |
844 recode | |
845 rosegarden | |
846 rpm | |
847 rush | |
848 sarg | |
849 screem | |
850 scrollkeeper | [] [] |
851 sed | |
852 sharutils | |
853 shishi | |
854 skencil | |
855 solfege | [] |
856 solfege-manual | |
857 soundtracker | |
858 sp | |
859 sysstat | [] |
860 tar | [] |
861 texinfo | [] |
862 tin | |
863 unicode-han-tra... | |
864 unicode-transla... | |
865 util-linux-ng | |
866 vice | |
867 vmm | |
868 vorbis-tools | |
869 wastesedge | |
870 wdiff | |
871 wget | [] |
872 wyslij-po | |
873 xchat | [] [] [] |
874 xdg-user-dirs | [] [] [] [] [] [] [] [] |
875 xkeyboard-config | [] [] [] |
876 +-----------------------------------------------+
877 ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne
878 20 5 10 1 13 48 4 2 2 4 24 10 20 3 1
879
880 nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr
881 +---------------------------------------------------+
882 a2ps | [] [] [] [] [] [] [] [] |
883 aegis | [] [] [] |
884 ant-phone | [] [] |
885 anubis | [] [] [] |
886 aspell | [] [] [] [] [] |
887 bash | [] [] |
888 bfd | [] |
889 bibshelf | [] [] |
890 binutils | [] [] |
891 bison | [] [] [] |
892 bison-runtime | [] [] [] [] [] [] [] |
893 bluez-pin | [] [] [] [] [] [] [] [] |
894 bombono-dvd | [] () |
895 buzztard | [] [] |
896 cflow | [] |
897 clisp | [] [] |
898 coreutils | [] [] [] [] [] [] |
899 cpio | [] [] [] |
900 cppi | [] |
901 cpplib | [] |
902 cryptsetup | [] |
903 dfarc | [] |
904 dialog | [] [] [] [] |
905 dico | [] |
906 diffutils | [] [] [] [] [] [] |
907 dink | () |
908 doodle | [] [] |
909 e2fsprogs | [] [] |
910 enscript | [] [] [] [] [] |
911 exif | [] [] [] () [] |
912 fetchmail | [] [] [] [] |
913 findutils | [] [] [] [] [] |
914 flex | [] [] [] [] [] |
915 freedink | [] [] |
916 gas | |
917 gawk | [] [] [] [] |
918 gcal | |
919 gcc | [] |
920 gettext-examples | [] [] [] [] [] [] [] [] |
921 gettext-runtime | [] [] [] [] [] [] [] [] [] |
922 gettext-tools | [] [] [] [] [] [] |
923 gip | [] [] [] [] [] |
924 gjay | |
925 gliv | [] [] [] [] [] [] |
926 glunarclock | [] [] [] [] [] |
927 gnubiff | [] () |
928 gnucash | [] () () () |
929 gnuedu | [] |
930 gnulib | [] [] [] [] |
931 gnunet | |
932 gnunet-gtk | |
933 gnutls | [] [] |
934 gold | |
935 gpe-aerial | [] [] [] [] [] [] [] |
936 gpe-beam | [] [] [] [] [] [] [] |
937 gpe-bluetooth | [] [] |
938 gpe-calendar | [] [] [] [] |
939 gpe-clock | [] [] [] [] [] [] [] [] |
940 gpe-conf | [] [] [] [] [] [] [] |
941 gpe-contacts | [] [] [] [] [] |
942 gpe-edit | [] [] [] |
943 gpe-filemanager | [] [] [] |
944 gpe-go | [] [] [] [] [] [] [] [] |
945 gpe-login | [] [] |
946 gpe-ownerinfo | [] [] [] [] [] [] [] [] |
947 gpe-package | [] [] |
948 gpe-sketchbook | [] [] [] [] [] [] [] |
949 gpe-su | [] [] [] [] [] [] [] [] |
950 gpe-taskmanager | [] [] [] [] [] [] [] [] |
951 gpe-timesheet | [] [] [] [] [] [] [] [] |
952 gpe-today | [] [] [] [] [] [] [] [] |
953 gpe-todo | [] [] [] [] [] |
954 gphoto2 | [] [] [] [] [] [] [] [] |
955 gprof | [] [] [] |
956 gpsdrive | [] [] |
957 gramadoir | [] [] |
958 grep | [] [] [] [] |
959 grub | [] [] [] |
960 gsasl | [] [] [] [] |
961 gss | [] [] [] |
962 gst-plugins-bad | [] [] [] [] [] [] |
963 gst-plugins-base | [] [] [] [] [] |
964 gst-plugins-good | [] [] [] [] [] |
965 gst-plugins-ugly | [] [] [] [] [] [] |
966 gstreamer | [] [] [] [] [] |
967 gtick | [] [] [] |
968 gtkam | [] [] [] [] [] [] |
969 gtkorphan | [] |
970 gtkspell | [] [] [] [] [] [] [] [] [] [] |
971 gutenprint | [] [] |
972 hello | [] [] [] [] |
973 help2man | [] [] |
974 hylafax | [] |
975 idutils | [] [] [] [] [] |
976 indent | [] [] [] [] [] [] [] |
977 iso_15924 | [] [] [] [] |
978 iso_3166 | [] [] [] [] [] () [] [] [] [] [] [] [] [] |
979 iso_3166_2 | [] [] [] |
980 iso_4217 | [] [] [] [] [] [] [] [] |
981 iso_639 | [] [] [] [] [] [] [] [] [] |
982 iso_639_3 | [] [] |
983 jwhois | [] [] [] [] |
984 kbd | [] [] [] |
985 keytouch | [] [] [] |
986 keytouch-editor | [] [] [] |
987 keytouch-keyboa... | [] [] [] |
988 klavaro | [] [] |
989 latrine | [] [] |
990 ld | |
991 leafpad | [] [] [] [] [] [] [] [] [] |
992 libc | [] [] [] [] |
993 libexif | [] [] () [] |
994 libextractor | |
995 libgnutls | [] [] |
996 libgpewidget | [] [] [] |
997 libgpg-error | [] [] |
998 libgphoto2 | [] [] |
999 libgphoto2_port | [] [] [] [] [] |
1000 libgsasl | [] [] [] [] [] |
1001 libiconv | [] [] [] [] [] |
1002 libidn | [] [] |
1003 lifelines | [] [] |
1004 liferea | [] [] [] [] [] () () [] |
1005 lilypond | [] |
1006 linkdr | [] [] [] |
1007 lordsawar | |
1008 lprng | [] |
1009 lynx | [] [] [] |
1010 m4 | [] [] [] [] [] |
1011 mailfromd | [] |
1012 mailutils | [] |
1013 make | [] [] [] [] |
1014 man-db | [] [] [] |
1015 man-db-manpages | [] [] [] |
1016 minicom | [] [] [] [] |
1017 mkisofs | [] [] [] |
1018 myserver | |
1019 nano | [] [] [] [] |
1020 opcodes | [] [] |
1021 parted | [] [] [] [] |
1022 pies | [] |
1023 popt | [] [] [] [] |
1024 psmisc | [] [] [] |
1025 pspp | [] [] |
1026 pwdutils | [] |
1027 radius | [] [] [] |
1028 recode | [] [] [] [] [] [] [] [] |
1029 rosegarden | () () |
1030 rpm | [] [] [] |
1031 rush | [] [] |
1032 sarg | |
1033 screem | |
1034 scrollkeeper | [] [] [] [] [] [] [] [] |
1035 sed | [] [] [] [] [] [] [] [] [] |
1036 sharutils | [] [] [] [] |
1037 shishi | [] |
1038 skencil | [] [] |
1039 solfege | [] [] [] [] |
1040 solfege-manual | [] [] [] |
1041 soundtracker | [] |
1042 sp | |
1043 sysstat | [] [] [] [] |
1044 tar | [] [] [] [] |
1045 texinfo | [] [] [] [] |
1046 tin | [] |
1047 unicode-han-tra... | |
1048 unicode-transla... | |
1049 util-linux-ng | [] [] [] [] [] |
1050 vice | [] |
1051 vmm | [] |
1052 vorbis-tools | [] [] |
1053 wastesedge | [] |
1054 wdiff | [] [] |
1055 wget | [] [] [] [] [] [] [] |
1056 wyslij-po | [] [] [] |
1057 xchat | [] [] [] [] [] [] [] [] [] |
1058 xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] |
1059 xkeyboard-config | [] [] [] |
1060 +---------------------------------------------------+
1061 nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr
1062 135 10 4 7 105 1 29 62 47 91 3 54 46 9 37
1063
1064 sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW
1065 +---------------------------------------------------+
1066 a2ps | [] [] [] [] [] | 27
1067 aegis | [] | 9
1068 ant-phone | [] [] [] [] | 9
1069 anubis | [] [] [] [] | 15
1070 aspell | [] [] [] | 20
1071 bash | [] [] [] | 12
1072 bfd | [] | 6
1073 bibshelf | [] [] [] | 16
1074 binutils | [] [] | 8
1075 bison | [] [] | 12
1076 bison-runtime | [] [] [] [] [] [] | 29
1077 bluez-pin | [] [] [] [] [] [] [] [] | 37
1078 bombono-dvd | [] | 4
1079 buzztard | [] | 7
1080 cflow | [] [] [] | 9
1081 clisp | | 10
1082 coreutils | [] [] [] [] | 22
1083 cpio | [] [] [] [] [] [] | 13
1084 cppi | [] [] | 5
1085 cpplib | [] [] [] [] [] [] | 14
1086 cryptsetup | [] [] | 7
1087 dfarc | [] | 9
1088 dialog | [] [] [] [] [] [] [] | 30
1089 dico | [] | 2
1090 diffutils | [] [] [] [] [] [] | 30
1091 dink | | 4
1092 doodle | [] [] | 7
1093 e2fsprogs | [] [] [] | 11
1094 enscript | [] [] [] [] | 17
1095 exif | [] [] [] | 16
1096 fetchmail | [] [] [] | 17
1097 findutils | [] [] [] [] [] | 20
1098 flex | [] [] [] [] | 15
1099 freedink | [] | 10
1100 gas | [] | 4
1101 gawk | [] [] [] [] | 18
1102 gcal | [] [] | 5
1103 gcc | [] [] [] | 7
1104 gettext-examples | [] [] [] [] [] [] [] | 34
1105 gettext-runtime | [] [] [] [] [] [] [] | 29
1106 gettext-tools | [] [] [] [] [] [] | 22
1107 gip | [] [] [] [] | 22
1108 gjay | [] | 3
1109 gliv | [] [] [] | 14
1110 glunarclock | [] [] [] [] [] | 19
1111 gnubiff | [] [] | 4
1112 gnucash | () [] () [] () | 10
1113 gnuedu | [] [] | 7
1114 gnulib | [] [] [] [] | 16
1115 gnunet | [] | 1
1116 gnunet-gtk | [] [] [] | 5
1117 gnutls | [] [] [] | 10
1118 gold | [] | 4
1119 gpe-aerial | [] [] [] | 18
1120 gpe-beam | [] [] [] | 19
1121 gpe-bluetooth | [] [] [] | 13
1122 gpe-calendar | [] [] [] [] | 12
1123 gpe-clock | [] [] [] [] [] | 28
1124 gpe-conf | [] [] [] [] | 20
1125 gpe-contacts | [] [] [] | 17
1126 gpe-edit | [] [] [] | 12
1127 gpe-filemanager | [] [] [] [] | 16
1128 gpe-go | [] [] [] [] [] | 25
1129 gpe-login | [] [] [] | 11
1130 gpe-ownerinfo | [] [] [] [] [] | 25
1131 gpe-package | [] [] [] | 13
1132 gpe-sketchbook | [] [] [] | 20
1133 gpe-su | [] [] [] [] [] | 30
1134 gpe-taskmanager | [] [] [] [] [] | 29
1135 gpe-timesheet | [] [] [] [] [] | 25
1136 gpe-today | [] [] [] [] [] [] | 30
1137 gpe-todo | [] [] [] [] | 17
1138 gphoto2 | [] [] [] [] [] | 24
1139 gprof | [] [] [] | 15
1140 gpsdrive | [] [] [] | 11
1141 gramadoir | [] [] [] | 11
1142 grep | [] [] [] | 10
1143 grub | [] [] [] | 14
1144 gsasl | [] [] [] [] | 14
1145 gss | [] [] [] | 11
1146 gst-plugins-bad | [] [] [] [] | 26
1147 gst-plugins-base | [] [] [] [] [] | 24
1148 gst-plugins-good | [] [] [] [] | 24
1149 gst-plugins-ugly | [] [] [] [] [] | 29
1150 gstreamer | [] [] [] [] | 22
1151 gtick | [] [] [] | 13
1152 gtkam | [] [] [] | 20
1153 gtkorphan | [] [] [] | 14
1154 gtkspell | [] [] [] [] [] [] [] [] [] | 45
1155 gutenprint | [] | 10
1156 hello | [] [] [] [] [] [] | 21
1157 help2man | [] [] | 7
1158 hylafax | [] | 5
1159 idutils | [] [] [] [] | 17
1160 indent | [] [] [] [] [] [] | 30
1161 iso_15924 | () [] () [] [] | 16
1162 iso_3166 | [] [] () [] [] () [] [] [] () | 53
1163 iso_3166_2 | () [] () [] | 9
1164 iso_4217 | [] () [] [] () [] [] | 26
1165 iso_639 | [] [] [] () [] () [] [] [] [] | 38
1166 iso_639_3 | [] () | 8
1167 jwhois | [] [] [] [] [] | 16
1168 kbd | [] [] [] [] [] | 15
1169 keytouch | [] [] [] | 16
1170 keytouch-editor | [] [] [] | 14
1171 keytouch-keyboa... | [] [] [] | 14
1172 klavaro | [] | 11
1173 latrine | [] [] [] | 10
1174 ld | [] [] [] [] | 11
1175 leafpad | [] [] [] [] [] [] | 33
1176 libc | [] [] [] [] [] | 21
1177 libexif | [] () | 7
1178 libextractor | [] | 1
1179 libgnutls | [] [] [] | 9
1180 libgpewidget | [] [] [] | 14
1181 libgpg-error | [] [] [] | 9
1182 libgphoto2 | [] [] | 8
1183 libgphoto2_port | [] [] [] [] | 14
1184 libgsasl | [] [] [] | 13
1185 libiconv | [] [] [] [] | 21
1186 libidn | () [] [] | 11
1187 lifelines | [] | 4
1188 liferea | [] [] [] | 21
1189 lilypond | [] | 7
1190 linkdr | [] [] [] [] [] | 17
1191 lordsawar | | 1
1192 lprng | [] | 3
1193 lynx | [] [] [] [] | 17
1194 m4 | [] [] [] [] | 19
1195 mailfromd | [] [] | 3
1196 mailutils | [] | 5
1197 make | [] [] [] [] | 21
1198 man-db | [] [] [] | 8
1199 man-db-manpages | | 4
1200 minicom | [] [] | 16
1201 mkisofs | [] [] | 9
1202 myserver | | 0
1203 nano | [] [] [] [] | 21
1204 opcodes | [] [] [] | 11
1205 parted | [] [] [] [] [] | 15
1206 pies | [] [] | 3
1207 popt | [] [] [] [] [] [] | 27
1208 psmisc | [] [] | 11
1209 pspp | | 4
1210 pwdutils | [] [] | 6
1211 radius | [] [] | 9
1212 recode | [] [] [] [] | 28
1213 rosegarden | () | 0
1214 rpm | [] [] [] | 11
1215 rush | [] [] | 4
1216 sarg | | 1
1217 screem | [] | 3
1218 scrollkeeper | [] [] [] [] [] | 27
1219 sed | [] [] [] [] [] | 30
1220 sharutils | [] [] [] [] [] | 22
1221 shishi | [] | 3
1222 skencil | [] [] | 7
1223 solfege | [] [] [] [] | 16
1224 solfege-manual | [] | 8
1225 soundtracker | [] [] [] | 9
1226 sp | [] | 3
1227 sysstat | [] [] | 15
1228 tar | [] [] [] [] [] [] | 23
1229 texinfo | [] [] [] [] [] | 17
1230 tin | | 4
1231 unicode-han-tra... | | 0
1232 unicode-transla... | | 2
1233 util-linux-ng | [] [] [] [] | 20
1234 vice | () () | 1
1235 vmm | [] | 4
1236 vorbis-tools | [] | 6
1237 wastesedge | | 2
1238 wdiff | [] [] | 7
1239 wget | [] [] [] [] [] | 26
1240 wyslij-po | [] [] | 8
1241 xchat | [] [] [] [] [] [] | 36
1242 xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | 63
1243 xkeyboard-config | [] [] [] | 22
1244 +---------------------------------------------------+
1245 85 teams sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW
1246 178 domains 119 1 3 3 0 10 65 51 155 17 98 7 41 2618
1247
1248 Some counters in the preceding matrix are higher than the number of
1249visible blocks let us expect. This is because a few extra PO files are
1250used for implementing regional variants of languages, or language
1251dialects.
1252
1253 For a PO file in the matrix above to be effective, the package to
1254which it applies should also have been internationalized and
1255distributed as such by its maintainer. There might be an observable
1256lag between the mere existence a PO file and its wide availability in a
1257distribution.
1258
1259 If June 2010 seems to be old, you may fetch a more recent copy of
1260this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date
1261matrix with full percentage details can be found at
1262`http://translationproject.org/extra/matrix.html'.
1263
12641.5 Using `gettext' in new packages
1265===================================
1266
1267If you are writing a freely available program and want to
1268internationalize it you are welcome to use GNU `gettext' in your
1269package. Of course you have to respect the GNU Library General Public
1270License which covers the use of the GNU `gettext' library. This means
1271in particular that even non-free programs can use `libintl' as a shared
1272library, whereas only free software can use `libintl' as a static
1273library or use modified versions of `libintl'.
1274
1275 Once the sources are changed appropriately and the setup can handle
1276the use of `gettext' the only thing missing are the translations. The
1277Free Translation Project is also available for packages which are not
1278developed inside the GNU project. Therefore the information given above
1279applies also for every other Free Software Project. Contact
1280`coordinator@translationproject.org' to make the `.pot' files available
1281to the translation teams.
1282
diff --git a/ChangeLog b/ChangeLog
index 5363c5b..ead39d5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
12022-10-24 gettextize <bug-gnu-gettext@gnu.org>
2
3 * m4/gettext.m4: Upgrade to gettext-0.21.
4 * m4/host-cpu-c-abi.m4: New file, from gettext-0.21.
5 * m4/iconv.m4: Upgrade to gettext-0.21.
6 * m4/intlmacosx.m4: New file, from gettext-0.21.
7 * m4/lib-ld.m4: Upgrade to gettext-0.21.
8 * m4/lib-link.m4: Upgrade to gettext-0.21.
9 * m4/lib-prefix.m4: Upgrade to gettext-0.21.
10 * m4/nls.m4: Upgrade to gettext-0.21.
11 * m4/po.m4: Upgrade to gettext-0.21.
12 * m4/progtest.m4: Upgrade to gettext-0.21.
13 * configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.21.
14
12012-03-07 gettextize <bug-gnu-gettext@gnu.org> 152012-03-07 gettextize <bug-gnu-gettext@gnu.org>
2 16
3 * m4/gettext.m4: New file, from gettext-0.18.1. 17 * m4/gettext.m4: New file, from gettext-0.18.1.
diff --git a/config.rpath b/config.rpath
index 17298f2..24be79c 100755
--- a/config.rpath
+++ b/config.rpath
@@ -2,7 +2,7 @@
2# Output a system dependent set of variables, describing how to set the 2# Output a system dependent set of variables, describing how to set the
3# run time search path of shared libraries in an executable. 3# run time search path of shared libraries in an executable.
4# 4#
5# Copyright 1996-2010 Free Software Foundation, Inc. 5# Copyright 1996-2020 Free Software Foundation, Inc.
6# Taken from GNU libtool, 2001 6# Taken from GNU libtool, 2001
7# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 7# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
8# 8#
@@ -25,7 +25,7 @@
25# known workaround is to choose shorter directory names for the build 25# known workaround is to choose shorter directory names for the build
26# directory and/or the installation directory. 26# directory and/or the installation directory.
27 27
28# All known linkers require a `.a' archive for static linking (except MSVC, 28# All known linkers require a '.a' archive for static linking (except MSVC,
29# which needs '.lib'). 29# which needs '.lib').
30libext=a 30libext=a
31shrext=.so 31shrext=.so
@@ -57,13 +57,6 @@ else
57 aix*) 57 aix*)
58 wl='-Wl,' 58 wl='-Wl,'
59 ;; 59 ;;
60 darwin*)
61 case $cc_basename in
62 xlc*)
63 wl='-Wl,'
64 ;;
65 esac
66 ;;
67 mingw* | cygwin* | pw32* | os2* | cegcc*) 60 mingw* | cygwin* | pw32* | os2* | cegcc*)
68 ;; 61 ;;
69 hpux9* | hpux10* | hpux11*) 62 hpux9* | hpux10* | hpux11*)
@@ -72,9 +65,7 @@ else
72 irix5* | irix6* | nonstopux*) 65 irix5* | irix6* | nonstopux*)
73 wl='-Wl,' 66 wl='-Wl,'
74 ;; 67 ;;
75 newsos6) 68 linux* | k*bsd*-gnu | kopensolaris*-gnu)
76 ;;
77 linux* | k*bsd*-gnu)
78 case $cc_basename in 69 case $cc_basename in
79 ecc*) 70 ecc*)
80 wl='-Wl,' 71 wl='-Wl,'
@@ -85,17 +76,26 @@ else
85 lf95*) 76 lf95*)
86 wl='-Wl,' 77 wl='-Wl,'
87 ;; 78 ;;
88 pgcc | pgf77 | pgf90) 79 nagfor*)
80 wl='-Wl,-Wl,,'
81 ;;
82 pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
89 wl='-Wl,' 83 wl='-Wl,'
90 ;; 84 ;;
91 ccc*) 85 ccc*)
92 wl='-Wl,' 86 wl='-Wl,'
93 ;; 87 ;;
88 xl* | bgxl* | bgf* | mpixl*)
89 wl='-Wl,'
90 ;;
94 como) 91 como)
95 wl='-lopt=' 92 wl='-lopt='
96 ;; 93 ;;
97 *) 94 *)
98 case `$CC -V 2>&1 | sed 5q` in 95 case `$CC -V 2>&1 | sed 5q` in
96 *Sun\ F* | *Sun*Fortran*)
97 wl=
98 ;;
99 *Sun\ C*) 99 *Sun\ C*)
100 wl='-Wl,' 100 wl='-Wl,'
101 ;; 101 ;;
@@ -103,13 +103,24 @@ else
103 ;; 103 ;;
104 esac 104 esac
105 ;; 105 ;;
106 newsos6)
107 ;;
108 *nto* | *qnx*)
109 ;;
106 osf3* | osf4* | osf5*) 110 osf3* | osf4* | osf5*)
107 wl='-Wl,' 111 wl='-Wl,'
108 ;; 112 ;;
109 rdos*) 113 rdos*)
110 ;; 114 ;;
111 solaris*) 115 solaris*)
112 wl='-Wl,' 116 case $cc_basename in
117 f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
118 wl='-Qoption ld '
119 ;;
120 *)
121 wl='-Wl,'
122 ;;
123 esac
113 ;; 124 ;;
114 sunos4*) 125 sunos4*)
115 wl='-Qoption ld ' 126 wl='-Qoption ld '
@@ -171,15 +182,14 @@ if test "$with_gnu_ld" = yes; then
171 fi 182 fi
172 ;; 183 ;;
173 amigaos*) 184 amigaos*)
174 hardcode_libdir_flag_spec='-L$libdir' 185 case "$host_cpu" in
175 hardcode_minus_L=yes 186 powerpc)
176 # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports 187 ;;
177 # that the semantics of dynamic libraries on AmigaOS, at least up 188 m68k)
178 # to version 4, is to share data among multiple programs linked 189 hardcode_libdir_flag_spec='-L$libdir'
179 # with the same dynamic library. Since this doesn't match the 190 hardcode_minus_L=yes
180 # behavior of shared libraries on other platforms, we cannot use 191 ;;
181 # them. 192 esac
182 ld_shlibs=no
183 ;; 193 ;;
184 beos*) 194 beos*)
185 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then 195 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
@@ -198,11 +208,13 @@ if test "$with_gnu_ld" = yes; then
198 ld_shlibs=no 208 ld_shlibs=no
199 fi 209 fi
200 ;; 210 ;;
211 haiku*)
212 ;;
201 interix[3-9]*) 213 interix[3-9]*)
202 hardcode_direct=no 214 hardcode_direct=no
203 hardcode_libdir_flag_spec='${wl}-rpath,$libdir' 215 hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
204 ;; 216 ;;
205 gnu* | linux* | k*bsd*-gnu) 217 gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
206 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then 218 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
207 : 219 :
208 else 220 else
@@ -325,10 +337,14 @@ else
325 fi 337 fi
326 ;; 338 ;;
327 amigaos*) 339 amigaos*)
328 hardcode_libdir_flag_spec='-L$libdir' 340 case "$host_cpu" in
329 hardcode_minus_L=yes 341 powerpc)
330 # see comment about different semantics on the GNU ld section 342 ;;
331 ld_shlibs=no 343 m68k)
344 hardcode_libdir_flag_spec='-L$libdir'
345 hardcode_minus_L=yes
346 ;;
347 esac
332 ;; 348 ;;
333 bsdi[45]*) 349 bsdi[45]*)
334 ;; 350 ;;
@@ -342,29 +358,16 @@ else
342 ;; 358 ;;
343 darwin* | rhapsody*) 359 darwin* | rhapsody*)
344 hardcode_direct=no 360 hardcode_direct=no
345 if test "$GCC" = yes ; then 361 if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then
346 : 362 :
347 else 363 else
348 case $cc_basename in 364 ld_shlibs=no
349 xlc*)
350 ;;
351 *)
352 ld_shlibs=no
353 ;;
354 esac
355 fi 365 fi
356 ;; 366 ;;
357 dgux*) 367 dgux*)
358 hardcode_libdir_flag_spec='-L$libdir' 368 hardcode_libdir_flag_spec='-L$libdir'
359 ;; 369 ;;
360 freebsd1*) 370 freebsd2.[01]*)
361 ld_shlibs=no
362 ;;
363 freebsd2.2*)
364 hardcode_libdir_flag_spec='-R$libdir'
365 hardcode_direct=yes
366 ;;
367 freebsd2*)
368 hardcode_direct=yes 371 hardcode_direct=yes
369 hardcode_minus_L=yes 372 hardcode_minus_L=yes
370 ;; 373 ;;
@@ -420,6 +423,8 @@ else
420 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' 423 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
421 hardcode_libdir_separator=: 424 hardcode_libdir_separator=:
422 ;; 425 ;;
426 *nto* | *qnx*)
427 ;;
423 openbsd*) 428 openbsd*)
424 if test -f /usr/libexec/ld.so; then 429 if test -f /usr/libexec/ld.so; then
425 hardcode_direct=yes 430 hardcode_direct=yes
@@ -515,7 +520,12 @@ case "$host_os" in
515 library_names_spec='$libname$shrext' 520 library_names_spec='$libname$shrext'
516 ;; 521 ;;
517 amigaos*) 522 amigaos*)
518 library_names_spec='$libname.a' 523 case "$host_cpu" in
524 powerpc*)
525 library_names_spec='$libname$shrext' ;;
526 m68k)
527 library_names_spec='$libname.a' ;;
528 esac
519 ;; 529 ;;
520 beos*) 530 beos*)
521 library_names_spec='$libname$shrext' 531 library_names_spec='$libname$shrext'
@@ -534,19 +544,18 @@ case "$host_os" in
534 dgux*) 544 dgux*)
535 library_names_spec='$libname$shrext' 545 library_names_spec='$libname$shrext'
536 ;; 546 ;;
537 freebsd1*) 547 freebsd[23].*)
548 library_names_spec='$libname$shrext$versuffix'
538 ;; 549 ;;
539 freebsd* | dragonfly*) 550 freebsd* | dragonfly*)
540 case "$host_os" in 551 library_names_spec='$libname$shrext'
541 freebsd[123]*)
542 library_names_spec='$libname$shrext$versuffix' ;;
543 *)
544 library_names_spec='$libname$shrext' ;;
545 esac
546 ;; 552 ;;
547 gnu*) 553 gnu*)
548 library_names_spec='$libname$shrext' 554 library_names_spec='$libname$shrext'
549 ;; 555 ;;
556 haiku*)
557 library_names_spec='$libname$shrext'
558 ;;
550 hpux9* | hpux10* | hpux11*) 559 hpux9* | hpux10* | hpux11*)
551 case $host_cpu in 560 case $host_cpu in
552 ia64*) 561 ia64*)
@@ -582,7 +591,7 @@ case "$host_os" in
582 ;; 591 ;;
583 linux*oldld* | linux*aout* | linux*coff*) 592 linux*oldld* | linux*aout* | linux*coff*)
584 ;; 593 ;;
585 linux* | k*bsd*-gnu) 594 linux* | k*bsd*-gnu | kopensolaris*-gnu)
586 library_names_spec='$libname$shrext' 595 library_names_spec='$libname$shrext'
587 ;; 596 ;;
588 knetbsd*-gnu) 597 knetbsd*-gnu)
@@ -594,7 +603,7 @@ case "$host_os" in
594 newsos6) 603 newsos6)
595 library_names_spec='$libname$shrext' 604 library_names_spec='$libname$shrext'
596 ;; 605 ;;
597 nto-qnx*) 606 *nto* | *qnx*)
598 library_names_spec='$libname$shrext' 607 library_names_spec='$libname$shrext'
599 ;; 608 ;;
600 openbsd*) 609 openbsd*)
@@ -625,6 +634,9 @@ case "$host_os" in
625 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 634 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
626 library_names_spec='$libname$shrext' 635 library_names_spec='$libname$shrext'
627 ;; 636 ;;
637 tpf*)
638 library_names_spec='$libname$shrext'
639 ;;
628 uts4*) 640 uts4*)
629 library_names_spec='$libname$shrext' 641 library_names_spec='$libname$shrext'
630 ;; 642 ;;
diff --git a/configure.ac b/configure.ac
index c598e59..38173aa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
1# This file is part of GNUnet. 1# This file is part of GNUnet.
2# (C) 2001-2011 Christian Grothoff (and other contributing authors) 2# (C) 2001-2011, 2022 Christian Grothoff (and other contributing authors)
3# 3#
4# GNUnet is free software; you can redistribute it and/or modify 4# GNUnet is free software; you can redistribute it and/or modify
5# it under the terms of the GNU General Public License as published 5# it under the terms of the GNU General Public License as published
@@ -21,7 +21,7 @@
21# 21#
22AC_PREREQ(2.61) 22AC_PREREQ(2.61)
23AC_INIT([gnunet-ext],[0.0.0],[bug-gnunet@gnu.org]) 23AC_INIT([gnunet-ext],[0.0.0],[bug-gnunet@gnu.org])
24AM_INIT_AUTOMAKE([gnunet-ext], [0.0.0]) 24AM_INIT_AUTOMAKE([tar-ustar])
25AM_CONFIG_HEADER(gnunet_ext_config.h) 25AM_CONFIG_HEADER(gnunet_ext_config.h)
26 26
27AH_TOP([#define _GNU_SOURCE 1]) 27AH_TOP([#define _GNU_SOURCE 1])
@@ -29,7 +29,6 @@ AH_TOP([#define _GNU_SOURCE 1])
29AC_ISC_POSIX 29AC_ISC_POSIX
30AC_PROG_AWK 30AC_PROG_AWK
31AC_PROG_CC 31AC_PROG_CC
32
33AC_PROG_MKDIR_P 32AC_PROG_MKDIR_P
34AC_PROG_CPP 33AC_PROG_CPP
35AC_PROG_INSTALL 34AC_PROG_INSTALL
@@ -111,15 +110,15 @@ esac
111AM_CONDITIONAL(MINGW, test "$build_target" = "mingw") 110AM_CONDITIONAL(MINGW, test "$build_target" = "mingw")
112 111
113# check for gettext 112# check for gettext
114AM_GNU_GETTEXT_VERSION([0.18.1])
115AM_GNU_GETTEXT([external]) 113AM_GNU_GETTEXT([external])
114AM_GNU_GETTEXT_VERSION([0.21])
116 115
117AC_CHECK_HEADERS([errno.h stdio.h unistd.h locale.h sys/stat.h sys/types.h langinfo.h libintl.h unistd.h stddef.h argz.h sys/socket.h netinet/in.h stdarg.h]) 116AC_CHECK_HEADERS([errno.h stdio.h unistd.h locale.h sys/stat.h sys/types.h langinfo.h libintl.h unistd.h stddef.h argz.h sys/socket.h netinet/in.h stdarg.h])
118 117
119# test for GNUnet core 118# test for GNUnet core
120gnunet=0 119gnunet=0
121lookin=${prefix} 120lookin=${prefix}
122backup_LDFLAGS="$LDFLAGS" 121backup_LDFLAGS="$LDFLAGS"
123backup_CPPFLAGS="$CPPFLAGS" 122backup_CPPFLAGS="$CPPFLAGS"
124GNUNET_LDFLAGS="" 123GNUNET_LDFLAGS=""
125GNUNET_CPPFLAGS="" 124GNUNET_CPPFLAGS=""
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)
2dnl Copyright (C) 1995-2010 Free Software Foundation, Inc. 2dnl Copyright (C) 1995-2014, 2016, 2018-2020 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation 3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it, 4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved. 5dnl with or without modifications, as long as this notice is preserved.
6dnl 6dnl
7dnl This file can can be used in projects which are not available under 7dnl This file can be used in projects which are not available under
8dnl the GNU General Public License or the GNU Library General Public 8dnl the GNU General Public License or the GNU Lesser General Public
9dnl License but which still want to provide support for the GNU gettext 9dnl License but which still want to provide support for the GNU gettext
10dnl functionality. 10dnl functionality.
11dnl Please note that the actual code of the GNU gettext library is covered 11dnl Please note that the actual code of the GNU gettext library is covered
12dnl by the GNU Library General Public License, and the rest of the GNU 12dnl by the GNU Lesser General Public License, and the rest of the GNU
13dnl gettext package package is covered by the GNU General Public License. 13dnl gettext package is covered by the GNU General Public License.
14dnl They are *not* in the public domain. 14dnl They are *not* in the public domain.
15 15
16dnl Authors: 16dnl Authors:
@@ -20,22 +20,20 @@ dnl Bruno Haible <haible@clisp.cons.org>, 2000-2006, 2008-2010.
20dnl Macro to add for using GNU gettext. 20dnl Macro to add for using GNU gettext.
21 21
22dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). 22dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
23dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The 23dnl INTLSYMBOL must be one of 'external', 'use-libtool'.
24dnl default (if it is not specified or empty) is 'no-libtool'. 24dnl INTLSYMBOL should be 'external' for packages other than GNU gettext, and
25dnl INTLSYMBOL should be 'external' for packages with no intl directory, 25dnl 'use-libtool' for the packages 'gettext-runtime' and 'gettext-tools'.
26dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory.
27dnl If INTLSYMBOL is 'use-libtool', then a libtool library 26dnl If INTLSYMBOL is 'use-libtool', then a libtool library
28dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, 27dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
29dnl depending on --{enable,disable}-{shared,static} and on the presence of 28dnl depending on --{enable,disable}-{shared,static} and on the presence of
30dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library 29dnl AM-DISABLE-SHARED).
31dnl $(top_builddir)/intl/libintl.a will be created.
32dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext 30dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
33dnl implementations (in libc or libintl) without the ngettext() function 31dnl implementations (in libc or libintl) without the ngettext() function
34dnl will be ignored. If NEEDSYMBOL is specified and is 32dnl will be ignored. If NEEDSYMBOL is specified and is
35dnl 'need-formatstring-macros', then GNU gettext implementations that don't 33dnl 'need-formatstring-macros', then GNU gettext implementations that don't
36dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored. 34dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
37dnl INTLDIR is used to find the intl libraries. If empty, 35dnl INTLDIR is used to find the intl libraries. If empty,
38dnl the value `$(top_builddir)/intl/' is used. 36dnl the value '$(top_builddir)/intl/' is used.
39dnl 37dnl
40dnl The result of the configuration is one of three cases: 38dnl The result of the configuration is one of three cases:
41dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled 39dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
@@ -57,19 +55,17 @@ dnl
57AC_DEFUN([AM_GNU_GETTEXT], 55AC_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
162extern int _nl_msg_cat_cntr; 160extern int _nl_msg_cat_cntr;
163extern int *_nl_domain_bindings;], 161extern int *_nl_domain_bindings;
164 [bindtextdomain ("", ""); 162#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_domain_bindings)
165return * 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 [[
169bindtextdomain ("", "");
170return * 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
188extern int _nl_msg_cat_cntr; 197extern int _nl_msg_cat_cntr;
189extern 198extern
190#ifdef __cplusplus 199#ifdef __cplusplus
191"C" 200"C"
192#endif 201#endif
193const char *_nl_expand_alias (const char *);], 202const char *_nl_expand_alias (const char *);
194 [bindtextdomain ("", ""); 203#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))
195return * 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 [[
210bindtextdomain ("", "");
211return * 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
203extern int _nl_msg_cat_cntr; 223extern int _nl_msg_cat_cntr;
204extern 224extern
205#ifdef __cplusplus 225#ifdef __cplusplus
206"C" 226"C"
207#endif 227#endif
208const char *_nl_expand_alias (const char *);], 228const char *_nl_expand_alias (const char *);
209 [bindtextdomain ("", ""); 229#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))
210return * 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 [[
236bindtextdomain ("", "");
237return * 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
382dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) 381dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
383AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) 382AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
383
384
385dnl Usage: AM_GNU_GETTEXT_REQUIRE_VERSION([gettext-version])
386AC_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
2dnl Copyright (C) 2002-2020 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl From Bruno Haible and Sam Steingold.
8
9dnl Sets the HOST_CPU variable to the canonical name of the CPU.
10dnl Sets the HOST_CPU_C_ABI variable to the canonical name of the CPU with its
11dnl C language ABI (application binary interface).
12dnl Also defines __${HOST_CPU}__ and __${HOST_CPU_C_ABI}__ as C macros in
13dnl config.h.
14dnl
15dnl This canonical name can be used to select a particular assembly language
16dnl source file that will interoperate with C code on the given host.
17dnl
18dnl For example:
19dnl * 'i386' and 'sparc' are different canonical names, because code for i386
20dnl will not run on SPARC CPUs and vice versa. They have different
21dnl instruction sets.
22dnl * 'sparc' and 'sparc64' are different canonical names, because code for
23dnl 'sparc' and code for 'sparc64' cannot be linked together: 'sparc' code
24dnl contains 32-bit instructions, whereas 'sparc64' code contains 64-bit
25dnl instructions. A process on a SPARC CPU can be in 32-bit mode or in 64-bit
26dnl mode, but not both.
27dnl * 'mips' and 'mipsn32' are different canonical names, because they use
28dnl different argument passing and return conventions for C functions, and
29dnl although the instruction set of 'mips' is a large subset of the
30dnl instruction set of 'mipsn32'.
31dnl * 'mipsn32' and 'mips64' are different canonical names, because they use
32dnl different sizes for the C types like 'int' and 'void *', and although
33dnl the instruction sets of 'mipsn32' and 'mips64' are the same.
34dnl * The same canonical name is used for different endiannesses. You can
35dnl determine the endianness through preprocessor symbols:
36dnl - 'arm': test __ARMEL__.
37dnl - 'mips', 'mipsn32', 'mips64': test _MIPSEB vs. _MIPSEL.
38dnl - 'powerpc64': test _BIG_ENDIAN vs. _LITTLE_ENDIAN.
39dnl * The same name 'i386' is used for CPUs of type i386, i486, i586
40dnl (Pentium), AMD K7, Pentium II, Pentium IV, etc., because
41dnl - Instructions that do not exist on all of these CPUs (cmpxchg,
42dnl MMX, SSE, SSE2, 3DNow! etc.) are not frequently used. If your
43dnl assembly language source files use such instructions, you will
44dnl need to make the distinction.
45dnl - Speed of execution of the common instruction set is reasonable across
46dnl the entire family of CPUs. If you have assembly language source files
47dnl that are optimized for particular CPU types (like GNU gmp has), you
48dnl will need to make the distinction.
49dnl See <https://en.wikipedia.org/wiki/X86_instruction_listings>.
50AC_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
57changequote(,)dnl
58 i[34567]86 )
59changequote([,])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
93changequote(,)dnl
94 alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] )
95changequote([,])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
347EOF
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
459dnl Sets the HOST_CPU_C_ABI_32BIT variable to 'yes' if the C language ABI
460dnl (application binary interface) is a 32-bit one, to 'no' if it is a 64-bit
461dnl one, or to 'unknown' if unknown.
462dnl This is a simplified variant of gl_HOST_CPU_C_ABI.
463AC_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.
500changequote(,)dnl
501 alpha | alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] \
502 | mmix )
503changequote([,])dnl
504 gl_cv_host_cpu_c_abi_32bit=no
505 ;;
506
507changequote(,)dnl
508 i[34567]86 )
509changequote([,])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
2dnl Copyright (C) 2000-2002, 2007-2010 Free Software Foundation, Inc. 2dnl Copyright (C) 2000-2002, 2007-2014, 2016-2020 Free Software Foundation,
3dnl Inc.
3dnl This file is free software; the Free Software Foundation 4dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it, 5dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved. 6dnl 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>
69int 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])]])]))
188gl_iconv_AC_DEFUN([AM_ICONV], 246gl_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>
197extern 257extern
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)
202size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); 262size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
203#else 263#else
204size_t iconv(); 264size_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)
2dnl Copyright (C) 2004-2014, 2016, 2019-2020 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6dnl
7dnl This file can be used in projects which are not available under
8dnl the GNU General Public License or the GNU Lesser General Public
9dnl License but which still want to provide support for the GNU gettext
10dnl functionality.
11dnl Please note that the actual code of the GNU gettext library is covered
12dnl by the GNU Lesser General Public License, and the rest of the GNU
13dnl gettext package is covered by the GNU General Public License.
14dnl They are *not* in the public domain.
15
16dnl Checks for special options needed on Mac OS X.
17dnl Defines INTL_MACOSX_LIBS.
18AC_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
2dnl Copyright (C) 1996-2003, 2009-2010 Free Software Foundation, Inc. 2dnl Copyright (C) 1996-2003, 2009-2020 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation 3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it, 4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved. 5dnl with or without modifications, as long as this notice is preserved.
6 6
7dnl Subroutines of libtool.m4, 7dnl Subroutines of libtool.m4,
8dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision 8dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid
9dnl with libtool.m4. 9dnl collision with libtool.m4.
10 10
11dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. 11dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no.
12AC_DEFUN([AC_LIB_PROG_LD_GNU], 12AC_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.
15case `$LD -v 2>&1 </dev/null` in 15case `$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 ;;
20esac]) 22esac])
21with_gnu_ld=$acl_cv_prog_gnu_ld 23with_gnu_ld=$acl_cv_prog_gnu_ld
22]) 24])
23 25
24dnl From libtool-1.4. Sets the variable LD. 26dnl From libtool-2.4. Sets the variable LD.
25AC_DEFUN([AC_LIB_PROG_LD], 27AC_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]],
28test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
29AC_REQUIRE([AC_PROG_CC])dnl
30AC_REQUIRE([AC_CANONICAL_HOST])dnl 29AC_REQUIRE([AC_CANONICAL_HOST])dnl
30
31AC_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.
33if test "${PATH_SEPARATOR+set}" != set; then 39if 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
43fi 48fi
44ac_prog=ld 49
45if test "$GCC" = yes; then 50if 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]) 52elif 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
75elif test "$with_gnu_ld" = yes; then 54elif test "$with_gnu_ld" = yes; then
76 AC_MSG_CHECKING([for GNU ld]) 55 AC_MSG_CHECKING([for GNU ld])
77else 56else
78 AC_MSG_CHECKING([for non-GNU ld]) 57 AC_MSG_CHECKING([for non-GNU ld])
79fi 58fi
80AC_CACHE_VAL([acl_cv_path_LD], 59if 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 62else
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.
99else 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
101fi]) 102 IFS="$acl_save_ifs"
102LD="$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"
160fi
103if test -n "$LD"; then 161if test -n "$LD"; then
104 AC_MSG_RESULT([$LD]) 162 AC_MSG_RESULT([$LD])
105else 163else
106 AC_MSG_RESULT([no]) 164 AC_MSG_RESULT([no])
165 AC_MSG_ERROR([no acceptable ld found in \$PATH])
107fi 166fi
108test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
109AC_LIB_PROG_LD_GNU 167AC_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
2dnl Copyright (C) 2001-2010 Free Software Foundation, Inc. 2dnl Copyright (C) 2001-2020 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation 3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it, 4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved. 5dnl with or without modifications, as long as this notice is preserved.
6 6
7dnl From Bruno Haible. 7dnl From Bruno Haible.
8 8
9AC_PREREQ([2.54]) 9AC_PREREQ([2.61])
10 10
11dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and 11dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
12dnl the libraries corresponding to explicit and implicit dependencies. 12dnl 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],
115dnl Determine the platform dependent parameters needed to use rpath: 116dnl Determine the platform dependent parameters needed to use rpath:
116dnl acl_libext, 117dnl acl_libext,
117dnl acl_shlibext, 118dnl acl_shlibext,
119dnl acl_libname_spec,
120dnl acl_library_names_spec,
118dnl acl_hardcode_libdir_flag_spec, 121dnl acl_hardcode_libdir_flag_spec,
119dnl acl_hardcode_libdir_separator, 122dnl acl_hardcode_libdir_separator,
120dnl acl_hardcode_direct, 123dnl acl_hardcode_direct,
121dnl acl_hardcode_minus_L. 124dnl acl_hardcode_minus_L.
122AC_DEFUN([AC_LIB_RPATH], 125AC_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
157dnl macro call that searches for libname. 160dnl macro call that searches for libname.
158AC_DEFUN([AC_LIB_FROMPACKAGE], 161AC_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.
178AC_DEFUN([AC_LIB_LINKFLAGS_BODY], 181AC_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
2dnl Copyright (C) 2001-2005, 2008-2010 Free Software Foundation, Inc. 2dnl Copyright (C) 2001-2005, 2008-2020 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation 3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it, 4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved. 5dnl with or without modifications, as long as this notice is preserved.
6 6
7dnl From Bruno Haible. 7dnl From Bruno Haible.
8 8
9dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
10dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
11dnl require excessive bracketing.
12ifdef([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
16dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed 9dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
17dnl to access previously installed libraries. The basic assumption is that 10dnl to access previously installed libraries. The basic assumption is that
18dnl a user will want packages to use other packages he previously installed 11dnl 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
156dnl AC_LIB_PREPARE_MULTILIB creates 149dnl AC_LIB_PREPARE_MULTILIB creates
157dnl - a variable acl_libdirstem, containing the basename of the libdir, either 150dnl - a function acl_is_expected_elfclass, that tests whether standard input
158dnl "lib" or "lib64" or "lib/64", 151dn; has a 32-bit or 64-bit ELF header, depending on the host CPU ABI,
159dnl - a variable acl_libdirstem2, as a secondary possible value for 152dnl - 3 variables acl_libdirstem, acl_libdirstem2, acl_libdirstem3, containing
160dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or 153dnl the basename of the libdir to try in turn, either "lib" or "lib64" or
161dnl "lib/amd64". 154dnl "lib/64" or "lib32" or "lib/sparcv9" or "lib/amd64" or similar.
162AC_DEFUN([AC_LIB_PREPARE_MULTILIB], 155AC_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
189sixtyfour 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 201changequote(,)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
225changequote([,])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.
315changequote(,)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/,.*//'`
319changequote([,])dnl
224]) 320])
diff --git a/m4/nls.m4 b/m4/nls.m4
index 003704c..5a506fc 100644
--- a/m4/nls.m4
+++ b/m4/nls.m4
@@ -1,17 +1,17 @@
1# nls.m4 serial 5 (gettext-0.18) 1# nls.m4 serial 6 (gettext-0.20.2)
2dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 Free Software Foundation, 2dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016, 2019-2020 Free
3dnl Inc. 3dnl Software Foundation, Inc.
4dnl This file is free software; the Free Software Foundation 4dnl This file is free software; the Free Software Foundation
5dnl gives unlimited permission to copy and/or distribute it, 5dnl gives unlimited permission to copy and/or distribute it,
6dnl with or without modifications, as long as this notice is preserved. 6dnl with or without modifications, as long as this notice is preserved.
7dnl 7dnl
8dnl This file can can be used in projects which are not available under 8dnl This file can be used in projects which are not available under
9dnl the GNU General Public License or the GNU Library General Public 9dnl the GNU General Public License or the GNU Lesser General Public
10dnl License but which still want to provide support for the GNU gettext 10dnl License but which still want to provide support for the GNU gettext
11dnl functionality. 11dnl functionality.
12dnl Please note that the actual code of the GNU gettext library is covered 12dnl Please note that the actual code of the GNU gettext library is covered
13dnl by the GNU Library General Public License, and the rest of the GNU 13dnl by the GNU Lesser General Public License, and the rest of the GNU
14dnl gettext package package is covered by the GNU General Public License. 14dnl gettext package is covered by the GNU General Public License.
15dnl They are *not* in the public domain. 15dnl They are *not* in the public domain.
16 16
17dnl Authors: 17dnl Authors:
diff --git a/m4/po.m4 b/m4/po.m4
index 47f36a4..3778fd7 100644
--- a/m4/po.m4
+++ b/m4/po.m4
@@ -1,35 +1,36 @@
1# po.m4 serial 17 (gettext-0.18) 1# po.m4 serial 31 (gettext-0.20.2)
2dnl Copyright (C) 1995-2010 Free Software Foundation, Inc. 2dnl Copyright (C) 1995-2014, 2016, 2018-2020 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation 3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it, 4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved. 5dnl with or without modifications, as long as this notice is preserved.
6dnl 6dnl
7dnl This file can can be used in projects which are not available under 7dnl This file can be used in projects which are not available under
8dnl the GNU General Public License or the GNU Library General Public 8dnl the GNU General Public License or the GNU Lesser General Public
9dnl License but which still want to provide support for the GNU gettext 9dnl License but which still want to provide support for the GNU gettext
10dnl functionality. 10dnl functionality.
11dnl Please note that the actual code of the GNU gettext library is covered 11dnl Please note that the actual code of the GNU gettext library is covered
12dnl by the GNU Library General Public License, and the rest of the GNU 12dnl by the GNU Lesser General Public License, and the rest of the GNU
13dnl gettext package package is covered by the GNU General Public License. 13dnl gettext package is covered by the GNU General Public License.
14dnl They are *not* in the public domain. 14dnl They are *not* in the public domain.
15 15
16dnl Authors: 16dnl Authors:
17dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000. 17dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
18dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003. 18dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
19 19
20AC_PREREQ([2.50]) 20AC_PREREQ([2.60])
21 21
22dnl Checks for all prerequisites of the po subdirectory. 22dnl Checks for all prerequisites of the po subdirectory.
23AC_DEFUN([AM_PO_SUBDIRS], 23AC_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.
47changequote(,)dnl 48changequote(,)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
52changequote([,])dnl
53 AC_SUBST([MSGFMT_015])
54changequote(,)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],
226changequote(,)dnl 227changequote(,)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.
259x 261x
@@ -261,9 +263,9 @@ s/P/P/
261x 263x
262ta 264ta
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}
269bd 271bd
@@ -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; }
416EOF 417EOF
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; }
427EOF 428EOF
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)
2dnl Copyright (C) 1996-2003, 2005, 2008-2010 Free Software Foundation, Inc. 2dnl Copyright (C) 1996-2003, 2005, 2008-2020 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation 3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it, 4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved. 5dnl with or without modifications, as long as this notice is preserved.
6dnl 6dnl
7dnl This file can can be used in projects which are not available under 7dnl This file can be used in projects which are not available under
8dnl the GNU General Public License or the GNU Library General Public 8dnl the GNU General Public License or the GNU Lesser General Public
9dnl License but which still want to provide support for the GNU gettext 9dnl License but which still want to provide support for the GNU gettext
10dnl functionality. 10dnl functionality.
11dnl Please note that the actual code of the GNU gettext library is covered 11dnl Please note that the actual code of the GNU gettext library is covered
12dnl by the GNU Library General Public License, and the rest of the GNU 12dnl by the GNU Lesser General Public License, and the rest of the GNU
13dnl gettext package package is covered by the GNU General Public License. 13dnl gettext package is covered by the GNU General Public License.
14dnl They are *not* in the public domain. 14dnl They are *not* in the public domain.
15 15
16dnl Authors: 16dnl 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.
29if test "${PATH_SEPARATOR+set}" != set; then 29if 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
39fi 38fi
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,
diff --git a/po/ChangeLog b/po/ChangeLog
index 16bda42..605ec77 100644
--- a/po/ChangeLog
+++ b/po/ChangeLog
@@ -1,3 +1,12 @@
12022-10-24 gettextize <bug-gnu-gettext@gnu.org>
2
3 * Makefile.in.in: Upgrade to gettext-0.21.
4 * Rules-quot: Upgrade to gettext-0.21.
5 * en@boldquot.header: Upgrade to gettext-0.21.
6 * en@quot.header: Upgrade to gettext-0.21.
7 * insert-header.sin: Upgrade to gettext-0.21.
8 * remove-potcdate.sin: Upgrade to gettext-0.21.
9
12012-03-07 gettextize <bug-gnu-gettext@gnu.org> 102012-03-07 gettextize <bug-gnu-gettext@gnu.org>
2 11
3 * Makefile.in.in: New file, from gettext-0.18.1. 12 * Makefile.in.in: New file, from gettext-0.18.1.
diff --git a/po/Makefile.in.in b/po/Makefile.in.in
index 83d8838..6b25f0d 100644
--- a/po/Makefile.in.in
+++ b/po/Makefile.in.in
@@ -1,20 +1,20 @@
1# Makefile for PO directory in any package using GNU gettext. 1# Makefile for PO directory in any package using GNU gettext.
2# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper <drepper@gnu.ai.mit.edu> 2# Copyright (C) 1995-2000 Ulrich Drepper <drepper@gnu.ai.mit.edu>
3# Copyright (C) 2000-2020 Free Software Foundation, Inc.
3# 4#
4# This file can be copied and used freely without restrictions. It can 5# Copying and distribution of this file, with or without modification,
5# be used in projects which are not available under the GNU General Public 6# are permitted in any medium without royalty provided the copyright
6# License but which still want to provide support for the GNU gettext 7# notice and this notice are preserved. This file is offered as-is,
7# functionality. 8# without any warranty.
8# Please note that the actual code of GNU gettext is covered by the GNU
9# General Public License and is *not* in the public domain.
10# 9#
11# Origin: gettext-0.18 10# Origin: gettext-0.21
12GETTEXT_MACRO_VERSION = 0.18 11GETTEXT_MACRO_VERSION = 0.20
13 12
14PACKAGE = @PACKAGE@ 13PACKAGE = @PACKAGE@
15VERSION = @VERSION@ 14VERSION = @VERSION@
16PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ 15PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
17 16
17SED = @SED@
18SHELL = /bin/sh 18SHELL = /bin/sh
19@SET_MAKE@ 19@SET_MAKE@
20 20
@@ -44,20 +44,22 @@ install_sh = $(SHELL) @install_sh@
44MKDIR_P = @MKDIR_P@ 44MKDIR_P = @MKDIR_P@
45mkdir_p = @mkdir_p@ 45mkdir_p = @mkdir_p@
46 46
47# When building gettext-tools, we prefer to use the built programs
48# rather than installed programs. However, we can't do that when we
49# are cross compiling.
50CROSS_COMPILING = @CROSS_COMPILING@
51
47GMSGFMT_ = @GMSGFMT@ 52GMSGFMT_ = @GMSGFMT@
48GMSGFMT_no = @GMSGFMT@ 53GMSGFMT_no = @GMSGFMT@
49GMSGFMT_yes = @GMSGFMT_015@ 54GMSGFMT_yes = @GMSGFMT_015@
50GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) 55GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT))
51MSGFMT_ = @MSGFMT@
52MSGFMT_no = @MSGFMT@
53MSGFMT_yes = @MSGFMT_015@
54MSGFMT = $(MSGFMT_$(USE_MSGCTXT))
55XGETTEXT_ = @XGETTEXT@ 56XGETTEXT_ = @XGETTEXT@
56XGETTEXT_no = @XGETTEXT@ 57XGETTEXT_no = @XGETTEXT@
57XGETTEXT_yes = @XGETTEXT_015@ 58XGETTEXT_yes = @XGETTEXT_015@
58XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) 59XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT))
59MSGMERGE = msgmerge 60MSGMERGE = @MSGMERGE@
60MSGMERGE_UPDATE = @MSGMERGE@ --update 61MSGMERGE_UPDATE = @MSGMERGE@ --update
62MSGMERGE_FOR_MSGFMT_OPTION = @MSGMERGE_FOR_MSGFMT_OPTION@
61MSGINIT = msginit 63MSGINIT = msginit
62MSGCONV = msgconv 64MSGCONV = msgconv
63MSGFILTER = msgfilter 65MSGFILTER = msgfilter
@@ -76,34 +78,61 @@ POTFILES = \
76 78
77CATALOGS = @CATALOGS@ 79CATALOGS = @CATALOGS@
78 80
81POFILESDEPS_ = $(srcdir)/$(DOMAIN).pot
82POFILESDEPS_yes = $(POFILESDEPS_)
83POFILESDEPS_no =
84POFILESDEPS = $(POFILESDEPS_$(PO_DEPENDS_ON_POT))
85
86DISTFILESDEPS_ = update-po
87DISTFILESDEPS_yes = $(DISTFILESDEPS_)
88DISTFILESDEPS_no =
89DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO))
90
79# Makevars gets inserted here. (Don't remove this line!) 91# Makevars gets inserted here. (Don't remove this line!)
80 92
81.SUFFIXES: 93all: all-@USE_NLS@
82.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update
83 94
84.po.mo:
85 @echo "$(MSGFMT) -c -o $@ $<"; \
86 $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
87 95
96.SUFFIXES:
97.SUFFIXES: .po .gmo .sed .sin .nop .po-create .po-update
98
99# The .pot file, stamp-po, .po files, and .gmo files appear in release tarballs.
100# The GNU Coding Standards say in
101# <https://www.gnu.org/prep/standards/html_node/Makefile-Basics.html>:
102# "GNU distributions usually contain some files which are not source files
103# ... . Since these files normally appear in the source directory, they
104# should always appear in the source directory, not in the build directory.
105# So Makefile rules to update them should put the updated files in the
106# source directory."
107# Therefore we put these files in the source directory, not the build directory.
108
109# During .po -> .gmo conversion, take into account the most recent changes to
110# the .pot file. This eliminates the need to update the .po files when the
111# .pot file has changed, which would be troublesome if the .po files are put
112# under version control.
113$(GMOFILES): $(srcdir)/$(DOMAIN).pot
88.po.gmo: 114.po.gmo:
89 @lang=`echo $* | sed -e 's,.*/,,'`; \ 115 @lang=`echo $* | sed -e 's,.*/,,'`; \
90 test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ 116 test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
91 echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ 117 echo "$${cdcmd}rm -f $${lang}.gmo && $(MSGMERGE) $(MSGMERGE_FOR_MSGFMT_OPTION) -o $${lang}.1po $${lang}.po $(DOMAIN).pot && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.1po && rm -f $${lang}.1po"; \
92 cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo 118 cd $(srcdir) && \
119 rm -f $${lang}.gmo && \
120 $(MSGMERGE) $(MSGMERGE_FOR_MSGFMT_OPTION) -o $${lang}.1po $${lang}.po $(DOMAIN).pot && \
121 $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.1po && \
122 mv t-$${lang}.gmo $${lang}.gmo && \
123 rm -f $${lang}.1po
93 124
94.sin.sed: 125.sin.sed:
95 sed -e '/^#/d' $< > t-$@ 126 sed -e '/^#/d' $< > t-$@
96 mv t-$@ $@ 127 mv t-$@ $@
97 128
98 129
99all: check-macro-version all-@USE_NLS@ 130all-yes: $(srcdir)/stamp-po
100
101all-yes: stamp-po
102all-no: 131all-no:
103 132
104# Ensure that the gettext macros and this Makefile.in.in are in sync. 133# Ensure that the gettext macros and this Makefile.in.in are in sync.
105check-macro-version: 134CHECK_MACRO_VERSION = \
106 @test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ 135 test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \
107 || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ 136 || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \
108 exit 1; \ 137 exit 1; \
109 } 138 }
@@ -112,23 +141,24 @@ check-macro-version:
112# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because 141# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
113# we don't want to bother translators with empty POT files). We assume that 142# we don't want to bother translators with empty POT files). We assume that
114# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. 143# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
115# In this case, stamp-po is a nop (i.e. a phony target). 144# In this case, $(srcdir)/stamp-po is a nop (i.e. a phony target).
116 145
117# stamp-po is a timestamp denoting the last time at which the CATALOGS have 146# $(srcdir)/stamp-po is a timestamp denoting the last time at which the CATALOGS
118# been loosely updated. Its purpose is that when a developer or translator 147# have been loosely updated. Its purpose is that when a developer or translator
119# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, 148# checks out the package from a version control system, and the $(DOMAIN).pot
120# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent 149# file is not under version control, "make" will update the $(DOMAIN).pot and
121# invocations of "make" will do nothing. This timestamp would not be necessary 150# the $(CATALOGS), but subsequent invocations of "make" will do nothing. This
122# if updating the $(CATALOGS) would always touch them; however, the rule for 151# timestamp would not be necessary if updating the $(CATALOGS) would always
123# $(POFILES) has been designed to not touch files that don't need to be 152# touch them; however, the rule for $(POFILES) has been designed to not touch
124# changed. 153# files that don't need to be changed.
125stamp-po: $(srcdir)/$(DOMAIN).pot 154$(srcdir)/stamp-po: $(srcdir)/$(DOMAIN).pot
155 @$(CHECK_MACRO_VERSION)
126 test ! -f $(srcdir)/$(DOMAIN).pot || \ 156 test ! -f $(srcdir)/$(DOMAIN).pot || \
127 test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) 157 test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
128 @test ! -f $(srcdir)/$(DOMAIN).pot || { \ 158 @test ! -f $(srcdir)/$(DOMAIN).pot || { \
129 echo "touch stamp-po" && \ 159 echo "touch $(srcdir)/stamp-po" && \
130 echo timestamp > stamp-poT && \ 160 echo timestamp > $(srcdir)/stamp-poT && \
131 mv stamp-poT stamp-po; \ 161 mv $(srcdir)/stamp-poT $(srcdir)/stamp-po; \
132 } 162 }
133 163
134# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', 164# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
@@ -137,11 +167,27 @@ stamp-po: $(srcdir)/$(DOMAIN).pot
137 167
138# This target rebuilds $(DOMAIN).pot; it is an expensive operation. 168# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
139# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. 169# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
170# The determination of whether the package xyz is a GNU one is based on the
171# heuristic whether some file in the top level directory mentions "GNU xyz".
172# If GNU 'find' is available, we avoid grepping through monster files.
140$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed 173$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
141 if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ 174 package_gnu="$(PACKAGE_GNU)"; \
142 package_gnu='GNU '; \ 175 test -n "$$package_gnu" || { \
176 if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \
177 LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f -size -10000000c -exec grep -i 'GNU @PACKAGE@' /dev/null '{}' ';' 2>/dev/null; \
178 else \
179 LC_ALL=C grep -i 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \
180 fi; \
181 } | grep -v 'libtool:' >/dev/null; then \
182 package_gnu=yes; \
183 else \
184 package_gnu=no; \
185 fi; \
186 }; \
187 if test "$$package_gnu" = "yes"; then \
188 package_prefix='GNU '; \
143 else \ 189 else \
144 package_gnu=''; \ 190 package_prefix=''; \
145 fi; \ 191 fi; \
146 if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ 192 if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
147 msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ 193 msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
@@ -151,22 +197,30 @@ $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
151 case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ 197 case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
152 '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ 198 '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
153 $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ 199 $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
154 --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ 200 --add-comments=TRANSLATORS: \
155 --files-from=$(srcdir)/POTFILES.in \ 201 --files-from=$(srcdir)/POTFILES.in \
156 --copyright-holder='$(COPYRIGHT_HOLDER)' \ 202 --copyright-holder='$(COPYRIGHT_HOLDER)' \
157 --msgid-bugs-address="$$msgid_bugs_address" \ 203 --msgid-bugs-address="$$msgid_bugs_address" \
204 $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
158 ;; \ 205 ;; \
159 *) \ 206 *) \
160 $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ 207 $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
161 --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ 208 --add-comments=TRANSLATORS: \
162 --files-from=$(srcdir)/POTFILES.in \ 209 --files-from=$(srcdir)/POTFILES.in \
163 --copyright-holder='$(COPYRIGHT_HOLDER)' \ 210 --copyright-holder='$(COPYRIGHT_HOLDER)' \
164 --package-name="$${package_gnu}@PACKAGE@" \ 211 --package-name="$${package_prefix}@PACKAGE@" \
165 --package-version='@VERSION@' \ 212 --package-version='@VERSION@' \
166 --msgid-bugs-address="$$msgid_bugs_address" \ 213 --msgid-bugs-address="$$msgid_bugs_address" \
214 $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
167 ;; \ 215 ;; \
168 esac 216 esac
169 test ! -f $(DOMAIN).po || { \ 217 test ! -f $(DOMAIN).po || { \
218 if test -f $(srcdir)/$(DOMAIN).pot-header; then \
219 sed -e '1,/^#$$/d' < $(DOMAIN).po > $(DOMAIN).1po && \
220 cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po && \
221 rm -f $(DOMAIN).1po \
222 || exit 1; \
223 fi; \
170 if test -f $(srcdir)/$(DOMAIN).pot; then \ 224 if test -f $(srcdir)/$(DOMAIN).pot; then \
171 sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ 225 sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
172 sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ 226 sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
@@ -189,17 +243,20 @@ $(srcdir)/$(DOMAIN).pot:
189 243
190# This target rebuilds a PO file if $(DOMAIN).pot has changed. 244# This target rebuilds a PO file if $(DOMAIN).pot has changed.
191# Note that a PO file is not touched if it doesn't need to be changed. 245# Note that a PO file is not touched if it doesn't need to be changed.
192$(POFILES): $(srcdir)/$(DOMAIN).pot 246$(POFILES): $(POFILESDEPS)
247 @test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot
193 @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ 248 @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
194 if test -f "$(srcdir)/$${lang}.po"; then \ 249 if test -f "$(srcdir)/$${lang}.po"; then \
195 test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ 250 test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
196 echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ 251 echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot"; \
197 cd $(srcdir) \ 252 cd $(srcdir) \
198 && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ 253 && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
199 '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ 254 '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \
200 $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ 255 $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
256 0.1[6-7] | 0.1[6-7].*) \
257 $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --previous $${lang}.po $(DOMAIN).pot;; \
201 *) \ 258 *) \
202 $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ 259 $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot;; \
203 esac; \ 260 esac; \
204 }; \ 261 }; \
205 else \ 262 else \
@@ -334,34 +391,41 @@ check: all
334 391
335info dvi ps pdf html tags TAGS ctags CTAGS ID: 392info dvi ps pdf html tags TAGS ctags CTAGS ID:
336 393
394install-dvi install-ps install-pdf install-html:
395
337mostlyclean: 396mostlyclean:
338 rm -f remove-potcdate.sed 397 rm -f remove-potcdate.sed
339 rm -f stamp-poT 398 rm -f $(srcdir)/stamp-poT
340 rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po 399 rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
341 rm -fr *.o 400 rm -fr *.o
342 401
343clean: mostlyclean 402clean: mostlyclean
344 403
345distclean: clean 404distclean: clean
346 rm -f Makefile Makefile.in POTFILES *.mo 405 rm -f Makefile Makefile.in POTFILES
347 406
348maintainer-clean: distclean 407maintainer-clean: distclean
349 @echo "This command is intended for maintainers to use;" 408 @echo "This command is intended for maintainers to use;"
350 @echo "it deletes files that may require special tools to rebuild." 409 @echo "it deletes files that may require special tools to rebuild."
351 rm -f stamp-po $(GMOFILES) 410 rm -f $(srcdir)/$(DOMAIN).pot $(srcdir)/stamp-po $(GMOFILES)
352 411
353distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) 412distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
354dist distdir: 413dist distdir:
355 $(MAKE) update-po 414 test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS)
356 @$(MAKE) dist2 415 @$(MAKE) dist2
357# This is a separate target because 'update-po' must be executed before. 416# This is a separate target because 'update-po' must be executed before.
358dist2: stamp-po $(DISTFILES) 417dist2: $(srcdir)/stamp-po $(DISTFILES)
359 dists="$(DISTFILES)"; \ 418 @dists="$(DISTFILES)"; \
360 if test "$(PACKAGE)" = "gettext-tools"; then \ 419 if test "$(PACKAGE)" = "gettext-tools"; then \
361 dists="$$dists Makevars.template"; \ 420 dists="$$dists Makevars.template"; \
362 fi; \ 421 fi; \
363 if test -f $(srcdir)/$(DOMAIN).pot; then \ 422 if test -f $(srcdir)/$(DOMAIN).pot; then \
364 dists="$$dists $(DOMAIN).pot stamp-po"; \ 423 dists="$$dists $(DOMAIN).pot stamp-po"; \
424 else \
425 case $(XGETTEXT) in \
426 :) echo "Warning: Creating a tarball without '$(DOMAIN).pot', because a suitable 'xgettext' program was not found in PATH." 1>&2;; \
427 *) echo "Warning: Creating a tarball without '$(DOMAIN).pot', because 'xgettext' found no strings to extract. Check the contents of the POTFILES.in file and the XGETTEXT_OPTIONS in the Makevars file." 1>&2;; \
428 esac; \
365 fi; \ 429 fi; \
366 if test -f $(srcdir)/ChangeLog; then \ 430 if test -f $(srcdir)/ChangeLog; then \
367 dists="$$dists ChangeLog"; \ 431 dists="$$dists ChangeLog"; \
@@ -396,17 +460,19 @@ update-po: Makefile
396 460
397.nop.po-update: 461.nop.po-update:
398 @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ 462 @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
399 if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ 463 if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; fi; \
400 tmpdir=`pwd`; \ 464 tmpdir=`pwd`; \
401 echo "$$lang:"; \ 465 echo "$$lang:"; \
402 test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ 466 test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
403 echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ 467 echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
404 cd $(srcdir); \ 468 cd $(srcdir); \
405 if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ 469 if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
406 '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ 470 '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \
407 $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ 471 $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
472 0.1[6-7] | 0.1[6-7].*) \
473 $(MSGMERGE) $(MSGMERGE_OPTIONS) --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
408 *) \ 474 *) \
409 $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ 475 $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
410 esac; \ 476 esac; \
411 }; then \ 477 }; then \
412 if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ 478 if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
diff --git a/po/Rules-quot b/po/Rules-quot
index af52487..18c024b 100644
--- a/po/Rules-quot
+++ b/po/Rules-quot
@@ -1,4 +1,9 @@
1# Special Makefile rules for English message catalogs with quotation marks. 1# Special Makefile rules for English message catalogs with quotation marks.
2#
3# Copyright (C) 2001-2017 Free Software Foundation, Inc.
4# This file, Rules-quot, and its auxiliary files (listed under
5# DISTFILES.common.extra1) are free software; the Free Software Foundation
6# gives unlimited permission to use, copy, distribute, and modify them.
2 7
3DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot 8DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot
4 9
@@ -14,13 +19,23 @@ en@boldquot.po-update: en@boldquot.po-update-en
14 19
15.insert-header.po-update-en: 20.insert-header.po-update-en:
16 @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ 21 @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \
17 if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ 22 if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
18 tmpdir=`pwd`; \ 23 tmpdir=`pwd`; \
19 echo "$$lang:"; \ 24 echo "$$lang:"; \
20 ll=`echo $$lang | sed -e 's/@.*//'`; \ 25 ll=`echo $$lang | sed -e 's/@.*//'`; \
21 LC_ALL=C; export LC_ALL; \ 26 LC_ALL=C; export LC_ALL; \
22 cd $(srcdir); \ 27 cd $(srcdir); \
23 if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ 28 if $(MSGINIT) $(MSGINIT_OPTIONS) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null \
29 | $(SED) -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | \
30 { case `$(MSGFILTER) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
31 '' | 0.[0-9] | 0.[0-9].* | 0.1[0-8] | 0.1[0-8].*) \
32 $(MSGFILTER) $(SED) -f `echo $$lang | sed -e 's/.*@//'`.sed \
33 ;; \
34 *) \
35 $(MSGFILTER) `echo $$lang | sed -e 's/.*@//'` \
36 ;; \
37 esac } 2>/dev/null > $$tmpdir/$$lang.new.po \
38 ; then \
24 if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ 39 if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
25 rm -f $$tmpdir/$$lang.new.po; \ 40 rm -f $$tmpdir/$$lang.new.po; \
26 else \ 41 else \
diff --git a/po/en@boldquot.header b/po/en@boldquot.header
index fedb6a0..506ca9e 100644
--- a/po/en@boldquot.header
+++ b/po/en@boldquot.header
@@ -2,7 +2,7 @@
2# The msgids must be ASCII and therefore cannot contain real quotation 2# The msgids must be ASCII and therefore cannot contain real quotation
3# characters, only substitutes like grave accent (0x60), apostrophe (0x27) 3# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
4# and double quote (0x22). These substitutes look strange; see 4# and double quote (0x22). These substitutes look strange; see
5# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html 5# https://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
6# 6#
7# This catalog translates grave accent (0x60) and apostrophe (0x27) to 7# This catalog translates grave accent (0x60) and apostrophe (0x27) to
8# left single quotation mark (U+2018) and right single quotation mark (U+2019). 8# left single quotation mark (U+2018) and right single quotation mark (U+2019).
diff --git a/po/en@quot.header b/po/en@quot.header
index a9647fc..6522f0c 100644
--- a/po/en@quot.header
+++ b/po/en@quot.header
@@ -2,7 +2,7 @@
2# The msgids must be ASCII and therefore cannot contain real quotation 2# The msgids must be ASCII and therefore cannot contain real quotation
3# characters, only substitutes like grave accent (0x60), apostrophe (0x27) 3# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
4# and double quote (0x22). These substitutes look strange; see 4# and double quote (0x22). These substitutes look strange; see
5# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html 5# https://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
6# 6#
7# This catalog translates grave accent (0x60) and apostrophe (0x27) to 7# This catalog translates grave accent (0x60) and apostrophe (0x27) to
8# left single quotation mark (U+2018) and right single quotation mark (U+2019). 8# left single quotation mark (U+2018) and right single quotation mark (U+2019).
diff --git a/po/insert-header.sin b/po/insert-header.sin
index b26de01..ceeebb9 100644
--- a/po/insert-header.sin
+++ b/po/insert-header.sin
@@ -1,5 +1,10 @@
1# Sed script that inserts the file called HEADER before the header entry. 1# Sed script that inserts the file called HEADER before the header entry.
2# 2#
3# Copyright (C) 2001 Free Software Foundation, Inc.
4# Written by Bruno Haible <bruno@clisp.org>, 2001.
5# This file is free software; the Free Software Foundation gives
6# unlimited permission to use, copy, distribute, and modify it.
7#
3# At each occurrence of a line starting with "msgid ", we execute the following 8# At each occurrence of a line starting with "msgid ", we execute the following
4# commands. At the first occurrence, insert the file. At the following 9# commands. At the first occurrence, insert the file. At the following
5# occurrences, do nothing. The distinction between the first and the following 10# occurrences, do nothing. The distinction between the first and the following
diff --git a/po/remove-potcdate.sin b/po/remove-potcdate.sin
index 2436c49..8c70dfb 100644
--- a/po/remove-potcdate.sin
+++ b/po/remove-potcdate.sin
@@ -1,6 +1,12 @@
1# Sed script that remove the POT-Creation-Date line in the header entry 1# Sed script that removes the POT-Creation-Date line in the header entry
2# from a POT file. 2# from a POT file.
3# 3#
4# Copyright (C) 2002 Free Software Foundation, Inc.
5# Copying and distribution of this file, with or without modification,
6# are permitted in any medium without royalty provided the copyright
7# notice and this notice are preserved. This file is offered as-is,
8# without any warranty.
9#
4# The distinction between the first and the following occurrences of the 10# The distinction between the first and the following occurrences of the
5# pattern is achieved by looking at the hold space. 11# pattern is achieved by looking at the hold space.
6/^"POT-Creation-Date: .*"$/{ 12/^"POT-Creation-Date: .*"$/{
diff --git a/src/ext/Makefile.am b/src/ext/Makefile.am
index b5c04e7..1f3fa1e 100644
--- a/src/ext/Makefile.am
+++ b/src/ext/Makefile.am
@@ -1,11 +1,9 @@
1# This Makefile.am is in the public domain 1# This Makefile.am is in the public domain
2SUBDIRS = . 2SUBDIRS = .
3 3
4INCLUDES = \
5 -I$(top_srcdir)/src/include \
6 -I$(top_srcdir)
7
8AM_CPPFLAGS = \ 4AM_CPPFLAGS = \
5 -I$(top_srcdir)/src/include \
6 -I$(top_srcdir) \
9 $(GNUNET_CPPFLAGS) 7 $(GNUNET_CPPFLAGS)
10 8
11# Set this variable if you are using GNUNET libraries for all programs and 9# Set this variable if you are using GNUNET libraries for all programs and