aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore5
-rw-r--r--ABOUT-NLS1283
-rw-r--r--ChangeLog14
-rw-r--r--INSTALL321
-rwxr-xr-xconfig.rpath120
-rw-r--r--configure.ac30
-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/libtool.m48387
-rw-r--r--m4/ltoptions.m4437
-rw-r--r--m4/ltsugar.m4124
-rw-r--r--m4/ltversion.m423
-rw-r--r--m4/lt~obsolete.m499
-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
-rw-r--r--src/ext/ext_api.c6
-rw-r--r--src/ext/gnunet-service-ext.c41
31 files changed, 1888 insertions, 11098 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/INSTALL b/INSTALL
index 7d1c323..e82fd21 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,8 +1,8 @@
1Installation Instructions 1Installation Instructions
2************************* 2*************************
3 3
4Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, 4 Copyright (C) 1994-1996, 1999-2002, 2004-2017, 2020-2021 Free
52006, 2007, 2008, 2009 Free Software Foundation, Inc. 5Software Foundation, Inc.
6 6
7 Copying and distribution of this file, with or without modification, 7 Copying and distribution of this file, with or without modification,
8are permitted in any medium without royalty provided the copyright 8are permitted in any medium without royalty provided the copyright
@@ -12,97 +12,96 @@ without warranty of any kind.
12Basic Installation 12Basic Installation
13================== 13==================
14 14
15 Briefly, the shell commands `./configure; make; make install' should 15 Briefly, the shell command './configure && make && make install'
16configure, build, and install this package. The following 16should configure, build, and install this package. The following
17more-detailed instructions are generic; see the `README' file for 17more-detailed instructions are generic; see the 'README' file for
18instructions specific to this package. Some packages provide this 18instructions specific to this package. Some packages provide this
19`INSTALL' file but do not implement all of the features documented 19'INSTALL' file but do not implement all of the features documented
20below. The lack of an optional feature in a given package is not 20below. The lack of an optional feature in a given package is not
21necessarily a bug. More recommendations for GNU packages can be found 21necessarily a bug. More recommendations for GNU packages can be found
22in *note Makefile Conventions: (standards)Makefile Conventions. 22in *note Makefile Conventions: (standards)Makefile Conventions.
23 23
24 The `configure' shell script attempts to guess correct values for 24 The 'configure' shell script attempts to guess correct values for
25various system-dependent variables used during compilation. It uses 25various system-dependent variables used during compilation. It uses
26those values to create a `Makefile' in each directory of the package. 26those values to create a 'Makefile' in each directory of the package.
27It may also create one or more `.h' files containing system-dependent 27It may also create one or more '.h' files containing system-dependent
28definitions. Finally, it creates a shell script `config.status' that 28definitions. Finally, it creates a shell script 'config.status' that
29you can run in the future to recreate the current configuration, and a 29you can run in the future to recreate the current configuration, and a
30file `config.log' containing compiler output (useful mainly for 30file 'config.log' containing compiler output (useful mainly for
31debugging `configure'). 31debugging 'configure').
32 32
33 It can also use an optional file (typically called `config.cache' 33 It can also use an optional file (typically called 'config.cache' and
34and enabled with `--cache-file=config.cache' or simply `-C') that saves 34enabled with '--cache-file=config.cache' or simply '-C') that saves the
35the results of its tests to speed up reconfiguring. Caching is 35results of its tests to speed up reconfiguring. Caching is disabled by
36disabled by default to prevent problems with accidental use of stale 36default to prevent problems with accidental use of stale cache files.
37cache files.
38 37
39 If you need to do unusual things to compile the package, please try 38 If you need to do unusual things to compile the package, please try
40to figure out how `configure' could check whether to do them, and mail 39to figure out how 'configure' could check whether to do them, and mail
41diffs or instructions to the address given in the `README' so they can 40diffs or instructions to the address given in the 'README' so they can
42be considered for the next release. If you are using the cache, and at 41be considered for the next release. If you are using the cache, and at
43some point `config.cache' contains results you don't want to keep, you 42some point 'config.cache' contains results you don't want to keep, you
44may remove or edit it. 43may remove or edit it.
45 44
46 The file `configure.ac' (or `configure.in') is used to create 45 The file 'configure.ac' (or 'configure.in') is used to create
47`configure' by a program called `autoconf'. You need `configure.ac' if 46'configure' by a program called 'autoconf'. You need 'configure.ac' if
48you want to change it or regenerate `configure' using a newer version 47you want to change it or regenerate 'configure' using a newer version of
49of `autoconf'. 48'autoconf'.
50 49
51 The simplest way to compile this package is: 50 The simplest way to compile this package is:
52 51
53 1. `cd' to the directory containing the package's source code and type 52 1. 'cd' to the directory containing the package's source code and type
54 `./configure' to configure the package for your system. 53 './configure' to configure the package for your system.
55 54
56 Running `configure' might take a while. While running, it prints 55 Running 'configure' might take a while. While running, it prints
57 some messages telling which features it is checking for. 56 some messages telling which features it is checking for.
58 57
59 2. Type `make' to compile the package. 58 2. Type 'make' to compile the package.
60 59
61 3. Optionally, type `make check' to run any self-tests that come with 60 3. Optionally, type 'make check' to run any self-tests that come with
62 the package, generally using the just-built uninstalled binaries. 61 the package, generally using the just-built uninstalled binaries.
63 62
64 4. Type `make install' to install the programs and any data files and 63 4. Type 'make install' to install the programs and any data files and
65 documentation. When installing into a prefix owned by root, it is 64 documentation. When installing into a prefix owned by root, it is
66 recommended that the package be configured and built as a regular 65 recommended that the package be configured and built as a regular
67 user, and only the `make install' phase executed with root 66 user, and only the 'make install' phase executed with root
68 privileges. 67 privileges.
69 68
70 5. Optionally, type `make installcheck' to repeat any self-tests, but 69 5. Optionally, type 'make installcheck' to repeat any self-tests, but
71 this time using the binaries in their final installed location. 70 this time using the binaries in their final installed location.
72 This target does not install anything. Running this target as a 71 This target does not install anything. Running this target as a
73 regular user, particularly if the prior `make install' required 72 regular user, particularly if the prior 'make install' required
74 root privileges, verifies that the installation completed 73 root privileges, verifies that the installation completed
75 correctly. 74 correctly.
76 75
77 6. You can remove the program binaries and object files from the 76 6. You can remove the program binaries and object files from the
78 source code directory by typing `make clean'. To also remove the 77 source code directory by typing 'make clean'. To also remove the
79 files that `configure' created (so you can compile the package for 78 files that 'configure' created (so you can compile the package for
80 a different kind of computer), type `make distclean'. There is 79 a different kind of computer), type 'make distclean'. There is
81 also a `make maintainer-clean' target, but that is intended mainly 80 also a 'make maintainer-clean' target, but that is intended mainly
82 for the package's developers. If you use it, you may have to get 81 for the package's developers. If you use it, you may have to get
83 all sorts of other programs in order to regenerate files that came 82 all sorts of other programs in order to regenerate files that came
84 with the distribution. 83 with the distribution.
85 84
86 7. Often, you can also type `make uninstall' to remove the installed 85 7. Often, you can also type 'make uninstall' to remove the installed
87 files again. In practice, not all packages have tested that 86 files again. In practice, not all packages have tested that
88 uninstallation works correctly, even though it is required by the 87 uninstallation works correctly, even though it is required by the
89 GNU Coding Standards. 88 GNU Coding Standards.
90 89
91 8. Some packages, particularly those that use Automake, provide `make 90 8. Some packages, particularly those that use Automake, provide 'make
92 distcheck', which can by used by developers to test that all other 91 distcheck', which can by used by developers to test that all other
93 targets like `make install' and `make uninstall' work correctly. 92 targets like 'make install' and 'make uninstall' work correctly.
94 This target is generally not run by end users. 93 This target is generally not run by end users.
95 94
96Compilers and Options 95Compilers and Options
97===================== 96=====================
98 97
99 Some systems require unusual options for compilation or linking that 98 Some systems require unusual options for compilation or linking that
100the `configure' script does not know about. Run `./configure --help' 99the 'configure' script does not know about. Run './configure --help'
101for details on some of the pertinent environment variables. 100for details on some of the pertinent environment variables.
102 101
103 You can give `configure' initial values for configuration parameters 102 You can give 'configure' initial values for configuration parameters
104by setting variables in the command line or in the environment. Here 103by setting variables in the command line or in the environment. Here is
105is an example: 104an example:
106 105
107 ./configure CC=c99 CFLAGS=-g LIBS=-lposix 106 ./configure CC=c99 CFLAGS=-g LIBS=-lposix
108 107
@@ -113,21 +112,21 @@ Compiling For Multiple Architectures
113 112
114 You can compile the package for more than one kind of computer at the 113 You can compile the package for more than one kind of computer at the
115same time, by placing the object files for each architecture in their 114same time, by placing the object files for each architecture in their
116own directory. To do this, you can use GNU `make'. `cd' to the 115own directory. To do this, you can use GNU 'make'. 'cd' to the
117directory where you want the object files and executables to go and run 116directory where you want the object files and executables to go and run
118the `configure' script. `configure' automatically checks for the 117the 'configure' script. 'configure' automatically checks for the source
119source code in the directory that `configure' is in and in `..'. This 118code in the directory that 'configure' is in and in '..'. This is known
120is known as a "VPATH" build. 119as a "VPATH" build.
121 120
122 With a non-GNU `make', it is safer to compile the package for one 121 With a non-GNU 'make', it is safer to compile the package for one
123architecture at a time in the source code directory. After you have 122architecture at a time in the source code directory. After you have
124installed the package for one architecture, use `make distclean' before 123installed the package for one architecture, use 'make distclean' before
125reconfiguring for another architecture. 124reconfiguring for another architecture.
126 125
127 On MacOS X 10.5 and later systems, you can create libraries and 126 On MacOS X 10.5 and later systems, you can create libraries and
128executables that work on multiple system types--known as "fat" or 127executables that work on multiple system types--known as "fat" or
129"universal" binaries--by specifying multiple `-arch' options to the 128"universal" binaries--by specifying multiple '-arch' options to the
130compiler but only a single `-arch' option to the preprocessor. Like 129compiler but only a single '-arch' option to the preprocessor. Like
131this: 130this:
132 131
133 ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ 132 ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
@@ -136,100 +135,104 @@ this:
136 135
137 This is not guaranteed to produce working output in all cases, you 136 This is not guaranteed to produce working output in all cases, you
138may have to build one architecture at a time and combine the results 137may have to build one architecture at a time and combine the results
139using the `lipo' tool if you have problems. 138using the 'lipo' tool if you have problems.
140 139
141Installation Names 140Installation Names
142================== 141==================
143 142
144 By default, `make install' installs the package's commands under 143 By default, 'make install' installs the package's commands under
145`/usr/local/bin', include files under `/usr/local/include', etc. You 144'/usr/local/bin', include files under '/usr/local/include', etc. You
146can specify an installation prefix other than `/usr/local' by giving 145can specify an installation prefix other than '/usr/local' by giving
147`configure' the option `--prefix=PREFIX', where PREFIX must be an 146'configure' the option '--prefix=PREFIX', where PREFIX must be an
148absolute file name. 147absolute file name.
149 148
150 You can specify separate installation prefixes for 149 You can specify separate installation prefixes for
151architecture-specific files and architecture-independent files. If you 150architecture-specific files and architecture-independent files. If you
152pass the option `--exec-prefix=PREFIX' to `configure', the package uses 151pass the option '--exec-prefix=PREFIX' to 'configure', the package uses
153PREFIX as the prefix for installing programs and libraries. 152PREFIX as the prefix for installing programs and libraries.
154Documentation and other data files still use the regular prefix. 153Documentation and other data files still use the regular prefix.
155 154
156 In addition, if you use an unusual directory layout you can give 155 In addition, if you use an unusual directory layout you can give
157options like `--bindir=DIR' to specify different values for particular 156options like '--bindir=DIR' to specify different values for particular
158kinds of files. Run `configure --help' for a list of the directories 157kinds of files. Run 'configure --help' for a list of the directories
159you can set and what kinds of files go in them. In general, the 158you can set and what kinds of files go in them. In general, the default
160default for these options is expressed in terms of `${prefix}', so that 159for these options is expressed in terms of '${prefix}', so that
161specifying just `--prefix' will affect all of the other directory 160specifying just '--prefix' will affect all of the other directory
162specifications that were not explicitly provided. 161specifications that were not explicitly provided.
163 162
164 The most portable way to affect installation locations is to pass the 163 The most portable way to affect installation locations is to pass the
165correct locations to `configure'; however, many packages provide one or 164correct locations to 'configure'; however, many packages provide one or
166both of the following shortcuts of passing variable assignments to the 165both of the following shortcuts of passing variable assignments to the
167`make install' command line to change installation locations without 166'make install' command line to change installation locations without
168having to reconfigure or recompile. 167having to reconfigure or recompile.
169 168
170 The first method involves providing an override variable for each 169 The first method involves providing an override variable for each
171affected directory. For example, `make install 170affected directory. For example, 'make install
172prefix=/alternate/directory' will choose an alternate location for all 171prefix=/alternate/directory' will choose an alternate location for all
173directory configuration variables that were expressed in terms of 172directory configuration variables that were expressed in terms of
174`${prefix}'. Any directories that were specified during `configure', 173'${prefix}'. Any directories that were specified during 'configure',
175but not in terms of `${prefix}', must each be overridden at install 174but not in terms of '${prefix}', must each be overridden at install time
176time for the entire installation to be relocated. The approach of 175for the entire installation to be relocated. The approach of makefile
177makefile variable overrides for each directory variable is required by 176variable overrides for each directory variable is required by the GNU
178the GNU Coding Standards, and ideally causes no recompilation. 177Coding Standards, and ideally causes no recompilation. However, some
179However, some platforms have known limitations with the semantics of 178platforms have known limitations with the semantics of shared libraries
180shared libraries that end up requiring recompilation when using this 179that end up requiring recompilation when using this method, particularly
181method, particularly noticeable in packages that use GNU Libtool. 180noticeable in packages that use GNU Libtool.
182 181
183 The second method involves providing the `DESTDIR' variable. For 182 The second method involves providing the 'DESTDIR' variable. For
184example, `make install DESTDIR=/alternate/directory' will prepend 183example, 'make install DESTDIR=/alternate/directory' will prepend
185`/alternate/directory' before all installation names. The approach of 184'/alternate/directory' before all installation names. The approach of
186`DESTDIR' overrides is not required by the GNU Coding Standards, and 185'DESTDIR' overrides is not required by the GNU Coding Standards, and
187does not work on platforms that have drive letters. On the other hand, 186does not work on platforms that have drive letters. On the other hand,
188it does better at avoiding recompilation issues, and works well even 187it does better at avoiding recompilation issues, and works well even
189when some directory options were not specified in terms of `${prefix}' 188when some directory options were not specified in terms of '${prefix}'
190at `configure' time. 189at 'configure' time.
191 190
192Optional Features 191Optional Features
193================= 192=================
194 193
195 If the package supports it, you can cause programs to be installed 194 If the package supports it, you can cause programs to be installed
196with an extra prefix or suffix on their names by giving `configure' the 195with an extra prefix or suffix on their names by giving 'configure' the
197option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. 196option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'.
198 197
199 Some packages pay attention to `--enable-FEATURE' options to 198 Some packages pay attention to '--enable-FEATURE' options to
200`configure', where FEATURE indicates an optional part of the package. 199'configure', where FEATURE indicates an optional part of the package.
201They may also pay attention to `--with-PACKAGE' options, where PACKAGE 200They may also pay attention to '--with-PACKAGE' options, where PACKAGE
202is something like `gnu-as' or `x' (for the X Window System). The 201is something like 'gnu-as' or 'x' (for the X Window System). The
203`README' should mention any `--enable-' and `--with-' options that the 202'README' should mention any '--enable-' and '--with-' options that the
204package recognizes. 203package recognizes.
205 204
206 For packages that use the X Window System, `configure' can usually 205 For packages that use the X Window System, 'configure' can usually
207find the X include and library files automatically, but if it doesn't, 206find the X include and library files automatically, but if it doesn't,
208you can use the `configure' options `--x-includes=DIR' and 207you can use the 'configure' options '--x-includes=DIR' and
209`--x-libraries=DIR' to specify their locations. 208'--x-libraries=DIR' to specify their locations.
210 209
211 Some packages offer the ability to configure how verbose the 210 Some packages offer the ability to configure how verbose the
212execution of `make' will be. For these packages, running `./configure 211execution of 'make' will be. For these packages, running './configure
213--enable-silent-rules' sets the default to minimal output, which can be 212--enable-silent-rules' sets the default to minimal output, which can be
214overridden with `make V=1'; while running `./configure 213overridden with 'make V=1'; while running './configure
215--disable-silent-rules' sets the default to verbose, which can be 214--disable-silent-rules' sets the default to verbose, which can be
216overridden with `make V=0'. 215overridden with 'make V=0'.
217 216
218Particular systems 217Particular systems
219================== 218==================
220 219
221 On HP-UX, the default C compiler is not ANSI C compatible. If GNU 220 On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC
222CC is not installed, it is recommended to use the following options in 221is not installed, it is recommended to use the following options in
223order to use an ANSI C compiler: 222order to use an ANSI C compiler:
224 223
225 ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" 224 ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
226 225
227and if that doesn't work, install pre-built binaries of GCC for HP-UX. 226and if that doesn't work, install pre-built binaries of GCC for HP-UX.
228 227
228 HP-UX 'make' updates targets which have the same timestamps as their
229prerequisites, which makes it generally unusable when shipped generated
230files such as 'configure' are involved. Use GNU 'make' instead.
231
229 On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot 232 On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
230parse its `<wchar.h>' header file. The option `-nodtk' can be used as 233parse its '<wchar.h>' header file. The option '-nodtk' can be used as a
231a workaround. If GNU CC is not installed, it is therefore recommended 234workaround. If GNU CC is not installed, it is therefore recommended to
232to try 235try
233 236
234 ./configure CC="cc" 237 ./configure CC="cc"
235 238
@@ -237,26 +240,26 @@ and if that doesn't work, try
237 240
238 ./configure CC="cc -nodtk" 241 ./configure CC="cc -nodtk"
239 242
240 On Solaris, don't put `/usr/ucb' early in your `PATH'. This 243 On Solaris, don't put '/usr/ucb' early in your 'PATH'. This
241directory contains several dysfunctional programs; working variants of 244directory contains several dysfunctional programs; working variants of
242these programs are available in `/usr/bin'. So, if you need `/usr/ucb' 245these programs are available in '/usr/bin'. So, if you need '/usr/ucb'
243in your `PATH', put it _after_ `/usr/bin'. 246in your 'PATH', put it _after_ '/usr/bin'.
244 247
245 On Haiku, software installed for all users goes in `/boot/common', 248 On Haiku, software installed for all users goes in '/boot/common',
246not `/usr/local'. It is recommended to use the following options: 249not '/usr/local'. It is recommended to use the following options:
247 250
248 ./configure --prefix=/boot/common 251 ./configure --prefix=/boot/common
249 252
250Specifying the System Type 253Specifying the System Type
251========================== 254==========================
252 255
253 There may be some features `configure' cannot figure out 256 There may be some features 'configure' cannot figure out
254automatically, but needs to determine by the type of machine the package 257automatically, but needs to determine by the type of machine the package
255will run on. Usually, assuming the package is built to be run on the 258will run on. Usually, assuming the package is built to be run on the
256_same_ architectures, `configure' can figure that out, but if it prints 259_same_ architectures, 'configure' can figure that out, but if it prints
257a message saying it cannot guess the machine type, give it the 260a message saying it cannot guess the machine type, give it the
258`--build=TYPE' option. TYPE can either be a short name for the system 261'--build=TYPE' option. TYPE can either be a short name for the system
259type, such as `sun4', or a canonical name which has the form: 262type, such as 'sun4', or a canonical name which has the form:
260 263
261 CPU-COMPANY-SYSTEM 264 CPU-COMPANY-SYSTEM
262 265
@@ -265,101 +268,101 @@ where SYSTEM can have one of these forms:
265 OS 268 OS
266 KERNEL-OS 269 KERNEL-OS
267 270
268 See the file `config.sub' for the possible values of each field. If 271 See the file 'config.sub' for the possible values of each field. If
269`config.sub' isn't included in this package, then this package doesn't 272'config.sub' isn't included in this package, then this package doesn't
270need to know the machine type. 273need to know the machine type.
271 274
272 If you are _building_ compiler tools for cross-compiling, you should 275 If you are _building_ compiler tools for cross-compiling, you should
273use the option `--target=TYPE' to select the type of system they will 276use the option '--target=TYPE' to select the type of system they will
274produce code for. 277produce code for.
275 278
276 If you want to _use_ a cross compiler, that generates code for a 279 If you want to _use_ a cross compiler, that generates code for a
277platform different from the build platform, you should specify the 280platform different from the build platform, you should specify the
278"host" platform (i.e., that on which the generated programs will 281"host" platform (i.e., that on which the generated programs will
279eventually be run) with `--host=TYPE'. 282eventually be run) with '--host=TYPE'.
280 283
281Sharing Defaults 284Sharing Defaults
282================ 285================
283 286
284 If you want to set default values for `configure' scripts to share, 287 If you want to set default values for 'configure' scripts to share,
285you can create a site shell script called `config.site' that gives 288you can create a site shell script called 'config.site' that gives
286default values for variables like `CC', `cache_file', and `prefix'. 289default values for variables like 'CC', 'cache_file', and 'prefix'.
287`configure' looks for `PREFIX/share/config.site' if it exists, then 290'configure' looks for 'PREFIX/share/config.site' if it exists, then
288`PREFIX/etc/config.site' if it exists. Or, you can set the 291'PREFIX/etc/config.site' if it exists. Or, you can set the
289`CONFIG_SITE' environment variable to the location of the site script. 292'CONFIG_SITE' environment variable to the location of the site script.
290A warning: not all `configure' scripts look for a site script. 293A warning: not all 'configure' scripts look for a site script.
291 294
292Defining Variables 295Defining Variables
293================== 296==================
294 297
295 Variables not defined in a site shell script can be set in the 298 Variables not defined in a site shell script can be set in the
296environment passed to `configure'. However, some packages may run 299environment passed to 'configure'. However, some packages may run
297configure again during the build, and the customized values of these 300configure again during the build, and the customized values of these
298variables may be lost. In order to avoid this problem, you should set 301variables may be lost. In order to avoid this problem, you should set
299them in the `configure' command line, using `VAR=value'. For example: 302them in the 'configure' command line, using 'VAR=value'. For example:
300 303
301 ./configure CC=/usr/local2/bin/gcc 304 ./configure CC=/usr/local2/bin/gcc
302 305
303causes the specified `gcc' to be used as the C compiler (unless it is 306causes the specified 'gcc' to be used as the C compiler (unless it is
304overridden in the site shell script). 307overridden in the site shell script).
305 308
306Unfortunately, this technique does not work for `CONFIG_SHELL' due to 309Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an
307an Autoconf bug. Until the bug is fixed you can use this workaround: 310Autoconf limitation. Until the limitation is lifted, you can use this
311workaround:
308 312
309 CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash 313 CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
310 314
311`configure' Invocation 315'configure' Invocation
312====================== 316======================
313 317
314 `configure' recognizes the following options to control how it 318 'configure' recognizes the following options to control how it
315operates. 319operates.
316 320
317`--help' 321'--help'
318`-h' 322'-h'
319 Print a summary of all of the options to `configure', and exit. 323 Print a summary of all of the options to 'configure', and exit.
320 324
321`--help=short' 325'--help=short'
322`--help=recursive' 326'--help=recursive'
323 Print a summary of the options unique to this package's 327 Print a summary of the options unique to this package's
324 `configure', and exit. The `short' variant lists options used 328 'configure', and exit. The 'short' variant lists options used only
325 only in the top level, while the `recursive' variant lists options 329 in the top level, while the 'recursive' variant lists options also
326 also present in any nested packages. 330 present in any nested packages.
327 331
328`--version' 332'--version'
329`-V' 333'-V'
330 Print the version of Autoconf used to generate the `configure' 334 Print the version of Autoconf used to generate the 'configure'
331 script, and exit. 335 script, and exit.
332 336
333`--cache-file=FILE' 337'--cache-file=FILE'
334 Enable the cache: use and save the results of the tests in FILE, 338 Enable the cache: use and save the results of the tests in FILE,
335 traditionally `config.cache'. FILE defaults to `/dev/null' to 339 traditionally 'config.cache'. FILE defaults to '/dev/null' to
336 disable caching. 340 disable caching.
337 341
338`--config-cache' 342'--config-cache'
339`-C' 343'-C'
340 Alias for `--cache-file=config.cache'. 344 Alias for '--cache-file=config.cache'.
341 345
342`--quiet' 346'--quiet'
343`--silent' 347'--silent'
344`-q' 348'-q'
345 Do not print messages saying which checks are being made. To 349 Do not print messages saying which checks are being made. To
346 suppress all normal output, redirect it to `/dev/null' (any error 350 suppress all normal output, redirect it to '/dev/null' (any error
347 messages will still be shown). 351 messages will still be shown).
348 352
349`--srcdir=DIR' 353'--srcdir=DIR'
350 Look for the package's source code in directory DIR. Usually 354 Look for the package's source code in directory DIR. Usually
351 `configure' can determine that directory automatically. 355 'configure' can determine that directory automatically.
352 356
353`--prefix=DIR' 357'--prefix=DIR'
354 Use DIR as the installation prefix. *note Installation Names:: 358 Use DIR as the installation prefix. *note Installation Names:: for
355 for more details, including other options available for fine-tuning 359 more details, including other options available for fine-tuning the
356 the installation locations. 360 installation locations.
357 361
358`--no-create' 362'--no-create'
359`-n' 363'-n'
360 Run the configure checks, but stop before creating any output 364 Run the configure checks, but stop before creating any output
361 files. 365 files.
362 366
363`configure' also accepts some other, not widely useful, options. Run 367'configure' also accepts some other, not widely useful, options. Run
364`configure --help' for more details. 368'configure --help' for more details.
365
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..329e771 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
@@ -19,31 +19,38 @@
19# 19#
20# Process this file with autoconf to produce a configure script. 20# Process this file with autoconf to produce a configure script.
21# 21#
22AC_PREREQ(2.61) 22AC_PREREQ([2.71])
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])
28 28
29AC_ISC_POSIX 29AC_SEARCH_LIBS([strerror],[cposix])
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
36AC_PROG_LN_S 35AC_PROG_LN_S
37AC_PROG_MAKE_SET 36AC_PROG_MAKE_SET
38AC_LIBTOOL_WIN32_DLL 37
39AC_PROG_CC 38AC_PROG_CC
40AM_PROG_CC_STDC 39AM_PROG_CC_STDC
41AC_HEADER_STDC 40m4_warn([obsolete],
41[The preprocessor macro `STDC_HEADERS' is obsolete.
42 Except in unusual embedded environments, you can safely include all
43 ISO C90 headers unconditionally.])dnl
44# Autoupdate added the next two lines to ensure that your configure
45# script's behavior did not change. They are probably safe to remove.
46AC_CHECK_INCLUDES_DEFAULT
47AC_PROG_EGREP
48
42AC_CANONICAL_HOST 49AC_CANONICAL_HOST
43 50
44# dynamic libraries/plugins 51# dynamic libraries/plugins
45AC_DISABLE_STATIC 52AC_DISABLE_STATIC
46AC_PROG_LIBTOOL 53LT_INIT([disable-static dlopen])
47 54
48AC_SYS_LARGEFILE 55AC_SYS_LARGEFILE
49AC_FUNC_FSEEKO 56AC_FUNC_FSEEKO
@@ -111,15 +118,15 @@ esac
111AM_CONDITIONAL(MINGW, test "$build_target" = "mingw") 118AM_CONDITIONAL(MINGW, test "$build_target" = "mingw")
112 119
113# check for gettext 120# check for gettext
114AM_GNU_GETTEXT_VERSION([0.18.1])
115AM_GNU_GETTEXT([external]) 121AM_GNU_GETTEXT([external])
122AM_GNU_GETTEXT_VERSION([0.21])
116 123
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]) 124AC_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 125
119# test for GNUnet core 126# test for GNUnet core
120gnunet=0 127gnunet=0
121lookin=${prefix} 128lookin=${prefix}
122backup_LDFLAGS="$LDFLAGS" 129backup_LDFLAGS="$LDFLAGS"
123backup_CPPFLAGS="$CPPFLAGS" 130backup_CPPFLAGS="$CPPFLAGS"
124GNUNET_LDFLAGS="" 131GNUNET_LDFLAGS=""
125GNUNET_CPPFLAGS="" 132GNUNET_CPPFLAGS=""
@@ -200,10 +207,11 @@ AC_DEFINE_DIR([PACKAGE_DATA], [datarootdir], [The directory for installing read-
200packagesrcdir=`cd $srcdir && pwd` 207packagesrcdir=`cd $srcdir && pwd`
201AC_DEFINE_UNQUOTED(PACKAGE_SOURCE_DIR, "${packagesrcdir}", [source dir]) 208AC_DEFINE_UNQUOTED(PACKAGE_SOURCE_DIR, "${packagesrcdir}", [source dir])
202 209
203AC_OUTPUT([ po/Makefile.in 210AC_CONFIG_FILES([ po/Makefile.in
204Makefile 211Makefile
205src/Makefile 212src/Makefile
206src/include/Makefile 213src/include/Makefile
207src/ext/Makefile 214src/ext/Makefile
208src/ext/ext.conf 215src/ext/ext.conf
209]) 216])
217AC_OUTPUT
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/libtool.m4 b/m4/libtool.m4
deleted file mode 100644
index ee80844..0000000
--- a/m4/libtool.m4
+++ /dev/null
@@ -1,8387 +0,0 @@
1# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
2#
3# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
4# Written by Gordon Matzigkeit, 1996
5#
6# This file is free software; the Free Software Foundation gives
7# unlimited permission to copy and/or distribute it, with or without
8# modifications, as long as this notice is preserved.
9
10m4_define([_LT_COPYING], [dnl
11# Copyright (C) 2014 Free Software Foundation, Inc.
12# This is free software; see the source for copying conditions. There is NO
13# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
15# GNU Libtool is free software; you can redistribute it and/or modify
16# it under the terms of the GNU General Public License as published by
17# the Free Software Foundation; either version 2 of of the License, or
18# (at your option) any later version.
19#
20# As a special exception to the GNU General Public License, if you
21# distribute this file as part of a program or library that is built
22# using GNU Libtool, you may include this file under the same
23# distribution terms that you use for the rest of that program.
24#
25# GNU Libtool is distributed in the hope that it will be useful, but
26# WITHOUT ANY WARRANTY; without even the implied warranty of
27# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28# GNU General Public License for more details.
29#
30# You should have received a copy of the GNU General Public License
31# along with this program. If not, see <http://www.gnu.org/licenses/>.
32])
33
34# serial 58 LT_INIT
35
36
37# LT_PREREQ(VERSION)
38# ------------------
39# Complain and exit if this libtool version is less that VERSION.
40m4_defun([LT_PREREQ],
41[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
42 [m4_default([$3],
43 [m4_fatal([Libtool version $1 or higher is required],
44 63)])],
45 [$2])])
46
47
48# _LT_CHECK_BUILDDIR
49# ------------------
50# Complain if the absolute build directory name contains unusual characters
51m4_defun([_LT_CHECK_BUILDDIR],
52[case `pwd` in
53 *\ * | *\ *)
54 AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
55esac
56])
57
58
59# LT_INIT([OPTIONS])
60# ------------------
61AC_DEFUN([LT_INIT],
62[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK
63AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
64AC_BEFORE([$0], [LT_LANG])dnl
65AC_BEFORE([$0], [LT_OUTPUT])dnl
66AC_BEFORE([$0], [LTDL_INIT])dnl
67m4_require([_LT_CHECK_BUILDDIR])dnl
68
69dnl Autoconf doesn't catch unexpanded LT_ macros by default:
70m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
71m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
72dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
73dnl unless we require an AC_DEFUNed macro:
74AC_REQUIRE([LTOPTIONS_VERSION])dnl
75AC_REQUIRE([LTSUGAR_VERSION])dnl
76AC_REQUIRE([LTVERSION_VERSION])dnl
77AC_REQUIRE([LTOBSOLETE_VERSION])dnl
78m4_require([_LT_PROG_LTMAIN])dnl
79
80_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
81
82dnl Parse OPTIONS
83_LT_SET_OPTIONS([$0], [$1])
84
85# This can be used to rebuild libtool when needed
86LIBTOOL_DEPS=$ltmain
87
88# Always use our own libtool.
89LIBTOOL='$(SHELL) $(top_builddir)/libtool'
90AC_SUBST(LIBTOOL)dnl
91
92_LT_SETUP
93
94# Only expand once:
95m4_define([LT_INIT])
96])# LT_INIT
97
98# Old names:
99AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
100AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
101dnl aclocal-1.4 backwards compatibility:
102dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
103dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
104
105
106# _LT_PREPARE_CC_BASENAME
107# -----------------------
108m4_defun([_LT_PREPARE_CC_BASENAME], [
109# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
110func_cc_basename ()
111{
112 for cc_temp in @S|@*""; do
113 case $cc_temp in
114 compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
115 distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
116 \-*) ;;
117 *) break;;
118 esac
119 done
120 func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
121}
122])# _LT_PREPARE_CC_BASENAME
123
124
125# _LT_CC_BASENAME(CC)
126# -------------------
127# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
128# but that macro is also expanded into generated libtool script, which
129# arranges for $SED and $ECHO to be set by different means.
130m4_defun([_LT_CC_BASENAME],
131[m4_require([_LT_PREPARE_CC_BASENAME])dnl
132AC_REQUIRE([_LT_DECL_SED])dnl
133AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
134func_cc_basename $1
135cc_basename=$func_cc_basename_result
136])
137
138
139# _LT_FILEUTILS_DEFAULTS
140# ----------------------
141# It is okay to use these file commands and assume they have been set
142# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
143m4_defun([_LT_FILEUTILS_DEFAULTS],
144[: ${CP="cp -f"}
145: ${MV="mv -f"}
146: ${RM="rm -f"}
147])# _LT_FILEUTILS_DEFAULTS
148
149
150# _LT_SETUP
151# ---------
152m4_defun([_LT_SETUP],
153[AC_REQUIRE([AC_CANONICAL_HOST])dnl
154AC_REQUIRE([AC_CANONICAL_BUILD])dnl
155AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
156AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
157
158_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
159dnl
160_LT_DECL([], [host_alias], [0], [The host system])dnl
161_LT_DECL([], [host], [0])dnl
162_LT_DECL([], [host_os], [0])dnl
163dnl
164_LT_DECL([], [build_alias], [0], [The build system])dnl
165_LT_DECL([], [build], [0])dnl
166_LT_DECL([], [build_os], [0])dnl
167dnl
168AC_REQUIRE([AC_PROG_CC])dnl
169AC_REQUIRE([LT_PATH_LD])dnl
170AC_REQUIRE([LT_PATH_NM])dnl
171dnl
172AC_REQUIRE([AC_PROG_LN_S])dnl
173test -z "$LN_S" && LN_S="ln -s"
174_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
175dnl
176AC_REQUIRE([LT_CMD_MAX_LEN])dnl
177_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
178_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
179dnl
180m4_require([_LT_FILEUTILS_DEFAULTS])dnl
181m4_require([_LT_CHECK_SHELL_FEATURES])dnl
182m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
183m4_require([_LT_CMD_RELOAD])dnl
184m4_require([_LT_CHECK_MAGIC_METHOD])dnl
185m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
186m4_require([_LT_CMD_OLD_ARCHIVE])dnl
187m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
188m4_require([_LT_WITH_SYSROOT])dnl
189m4_require([_LT_CMD_TRUNCATE])dnl
190
191_LT_CONFIG_LIBTOOL_INIT([
192# See if we are running on zsh, and set the options that allow our
193# commands through without removal of \ escapes INIT.
194if test -n "\${ZSH_VERSION+set}"; then
195 setopt NO_GLOB_SUBST
196fi
197])
198if test -n "${ZSH_VERSION+set}"; then
199 setopt NO_GLOB_SUBST
200fi
201
202_LT_CHECK_OBJDIR
203
204m4_require([_LT_TAG_COMPILER])dnl
205
206case $host_os in
207aix3*)
208 # AIX sometimes has problems with the GCC collect2 program. For some
209 # reason, if we set the COLLECT_NAMES environment variable, the problems
210 # vanish in a puff of smoke.
211 if test set != "${COLLECT_NAMES+set}"; then
212 COLLECT_NAMES=
213 export COLLECT_NAMES
214 fi
215 ;;
216esac
217
218# Global variables:
219ofile=libtool
220can_build_shared=yes
221
222# All known linkers require a '.a' archive for static linking (except MSVC,
223# which needs '.lib').
224libext=a
225
226with_gnu_ld=$lt_cv_prog_gnu_ld
227
228old_CC=$CC
229old_CFLAGS=$CFLAGS
230
231# Set sane defaults for various variables
232test -z "$CC" && CC=cc
233test -z "$LTCC" && LTCC=$CC
234test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
235test -z "$LD" && LD=ld
236test -z "$ac_objext" && ac_objext=o
237
238_LT_CC_BASENAME([$compiler])
239
240# Only perform the check for file, if the check method requires it
241test -z "$MAGIC_CMD" && MAGIC_CMD=file
242case $deplibs_check_method in
243file_magic*)
244 if test "$file_magic_cmd" = '$MAGIC_CMD'; then
245 _LT_PATH_MAGIC
246 fi
247 ;;
248esac
249
250# Use C for the default configuration in the libtool script
251LT_SUPPORTED_TAG([CC])
252_LT_LANG_C_CONFIG
253_LT_LANG_DEFAULT_CONFIG
254_LT_CONFIG_COMMANDS
255])# _LT_SETUP
256
257
258# _LT_PREPARE_SED_QUOTE_VARS
259# --------------------------
260# Define a few sed substitution that help us do robust quoting.
261m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
262[# Backslashify metacharacters that are still active within
263# double-quoted strings.
264sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
265
266# Same as above, but do not quote variable references.
267double_quote_subst='s/\([["`\\]]\)/\\\1/g'
268
269# Sed substitution to delay expansion of an escaped shell variable in a
270# double_quote_subst'ed string.
271delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
272
273# Sed substitution to delay expansion of an escaped single quote.
274delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
275
276# Sed substitution to avoid accidental globbing in evaled expressions
277no_glob_subst='s/\*/\\\*/g'
278])
279
280# _LT_PROG_LTMAIN
281# ---------------
282# Note that this code is called both from 'configure', and 'config.status'
283# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
284# 'config.status' has no value for ac_aux_dir unless we are using Automake,
285# so we pass a copy along to make sure it has a sensible value anyway.
286m4_defun([_LT_PROG_LTMAIN],
287[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
288_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
289ltmain=$ac_aux_dir/ltmain.sh
290])# _LT_PROG_LTMAIN
291
292
293## ------------------------------------- ##
294## Accumulate code for creating libtool. ##
295## ------------------------------------- ##
296
297# So that we can recreate a full libtool script including additional
298# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
299# in macros and then make a single call at the end using the 'libtool'
300# label.
301
302
303# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
304# ----------------------------------------
305# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
306m4_define([_LT_CONFIG_LIBTOOL_INIT],
307[m4_ifval([$1],
308 [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
309 [$1
310])])])
311
312# Initialize.
313m4_define([_LT_OUTPUT_LIBTOOL_INIT])
314
315
316# _LT_CONFIG_LIBTOOL([COMMANDS])
317# ------------------------------
318# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
319m4_define([_LT_CONFIG_LIBTOOL],
320[m4_ifval([$1],
321 [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
322 [$1
323])])])
324
325# Initialize.
326m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
327
328
329# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
330# -----------------------------------------------------
331m4_defun([_LT_CONFIG_SAVE_COMMANDS],
332[_LT_CONFIG_LIBTOOL([$1])
333_LT_CONFIG_LIBTOOL_INIT([$2])
334])
335
336
337# _LT_FORMAT_COMMENT([COMMENT])
338# -----------------------------
339# Add leading comment marks to the start of each line, and a trailing
340# full-stop to the whole comment if one is not present already.
341m4_define([_LT_FORMAT_COMMENT],
342[m4_ifval([$1], [
343m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
344 [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
345)])
346
347
348
349## ------------------------ ##
350## FIXME: Eliminate VARNAME ##
351## ------------------------ ##
352
353
354# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
355# -------------------------------------------------------------------
356# CONFIGNAME is the name given to the value in the libtool script.
357# VARNAME is the (base) name used in the configure script.
358# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
359# VARNAME. Any other value will be used directly.
360m4_define([_LT_DECL],
361[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
362 [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
363 [m4_ifval([$1], [$1], [$2])])
364 lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
365 m4_ifval([$4],
366 [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
367 lt_dict_add_subkey([lt_decl_dict], [$2],
368 [tagged?], [m4_ifval([$5], [yes], [no])])])
369])
370
371
372# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
373# --------------------------------------------------------
374m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
375
376
377# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
378# ------------------------------------------------
379m4_define([lt_decl_tag_varnames],
380[_lt_decl_filter([tagged?], [yes], $@)])
381
382
383# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
384# ---------------------------------------------------------
385m4_define([_lt_decl_filter],
386[m4_case([$#],
387 [0], [m4_fatal([$0: too few arguments: $#])],
388 [1], [m4_fatal([$0: too few arguments: $#: $1])],
389 [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
390 [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
391 [lt_dict_filter([lt_decl_dict], $@)])[]dnl
392])
393
394
395# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
396# --------------------------------------------------
397m4_define([lt_decl_quote_varnames],
398[_lt_decl_filter([value], [1], $@)])
399
400
401# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
402# ---------------------------------------------------
403m4_define([lt_decl_dquote_varnames],
404[_lt_decl_filter([value], [2], $@)])
405
406
407# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
408# ---------------------------------------------------
409m4_define([lt_decl_varnames_tagged],
410[m4_assert([$# <= 2])dnl
411_$0(m4_quote(m4_default([$1], [[, ]])),
412 m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
413 m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
414m4_define([_lt_decl_varnames_tagged],
415[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
416
417
418# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
419# ------------------------------------------------
420m4_define([lt_decl_all_varnames],
421[_$0(m4_quote(m4_default([$1], [[, ]])),
422 m4_if([$2], [],
423 m4_quote(lt_decl_varnames),
424 m4_quote(m4_shift($@))))[]dnl
425])
426m4_define([_lt_decl_all_varnames],
427[lt_join($@, lt_decl_varnames_tagged([$1],
428 lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
429])
430
431
432# _LT_CONFIG_STATUS_DECLARE([VARNAME])
433# ------------------------------------
434# Quote a variable value, and forward it to 'config.status' so that its
435# declaration there will have the same value as in 'configure'. VARNAME
436# must have a single quote delimited value for this to work.
437m4_define([_LT_CONFIG_STATUS_DECLARE],
438[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
439
440
441# _LT_CONFIG_STATUS_DECLARATIONS
442# ------------------------------
443# We delimit libtool config variables with single quotes, so when
444# we write them to config.status, we have to be sure to quote all
445# embedded single quotes properly. In configure, this macro expands
446# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
447#
448# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
449m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
450[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
451 [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
452
453
454# _LT_LIBTOOL_TAGS
455# ----------------
456# Output comment and list of tags supported by the script
457m4_defun([_LT_LIBTOOL_TAGS],
458[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
459available_tags='_LT_TAGS'dnl
460])
461
462
463# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
464# -----------------------------------
465# Extract the dictionary values for VARNAME (optionally with TAG) and
466# expand to a commented shell variable setting:
467#
468# # Some comment about what VAR is for.
469# visible_name=$lt_internal_name
470m4_define([_LT_LIBTOOL_DECLARE],
471[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
472 [description])))[]dnl
473m4_pushdef([_libtool_name],
474 m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
475m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
476 [0], [_libtool_name=[$]$1],
477 [1], [_libtool_name=$lt_[]$1],
478 [2], [_libtool_name=$lt_[]$1],
479 [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
480m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
481])
482
483
484# _LT_LIBTOOL_CONFIG_VARS
485# -----------------------
486# Produce commented declarations of non-tagged libtool config variables
487# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
488# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
489# section) are produced by _LT_LIBTOOL_TAG_VARS.
490m4_defun([_LT_LIBTOOL_CONFIG_VARS],
491[m4_foreach([_lt_var],
492 m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
493 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
494
495
496# _LT_LIBTOOL_TAG_VARS(TAG)
497# -------------------------
498m4_define([_LT_LIBTOOL_TAG_VARS],
499[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
500 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
501
502
503# _LT_TAGVAR(VARNAME, [TAGNAME])
504# ------------------------------
505m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
506
507
508# _LT_CONFIG_COMMANDS
509# -------------------
510# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
511# variables for single and double quote escaping we saved from calls
512# to _LT_DECL, we can put quote escaped variables declarations
513# into 'config.status', and then the shell code to quote escape them in
514# for loops in 'config.status'. Finally, any additional code accumulated
515# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
516m4_defun([_LT_CONFIG_COMMANDS],
517[AC_PROVIDE_IFELSE([LT_OUTPUT],
518 dnl If the libtool generation code has been placed in $CONFIG_LT,
519 dnl instead of duplicating it all over again into config.status,
520 dnl then we will have config.status run $CONFIG_LT later, so it
521 dnl needs to know what name is stored there:
522 [AC_CONFIG_COMMANDS([libtool],
523 [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
524 dnl If the libtool generation code is destined for config.status,
525 dnl expand the accumulated commands and init code now:
526 [AC_CONFIG_COMMANDS([libtool],
527 [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
528])#_LT_CONFIG_COMMANDS
529
530
531# Initialize.
532m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
533[
534
535# The HP-UX ksh and POSIX shell print the target directory to stdout
536# if CDPATH is set.
537(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
538
539sed_quote_subst='$sed_quote_subst'
540double_quote_subst='$double_quote_subst'
541delay_variable_subst='$delay_variable_subst'
542_LT_CONFIG_STATUS_DECLARATIONS
543LTCC='$LTCC'
544LTCFLAGS='$LTCFLAGS'
545compiler='$compiler_DEFAULT'
546
547# A function that is used when there is no print builtin or printf.
548func_fallback_echo ()
549{
550 eval 'cat <<_LTECHO_EOF
551\$[]1
552_LTECHO_EOF'
553}
554
555# Quote evaled strings.
556for var in lt_decl_all_varnames([[ \
557]], lt_decl_quote_varnames); do
558 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
559 *[[\\\\\\\`\\"\\\$]]*)
560 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
561 ;;
562 *)
563 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
564 ;;
565 esac
566done
567
568# Double-quote double-evaled strings.
569for var in lt_decl_all_varnames([[ \
570]], lt_decl_dquote_varnames); do
571 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
572 *[[\\\\\\\`\\"\\\$]]*)
573 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
574 ;;
575 *)
576 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
577 ;;
578 esac
579done
580
581_LT_OUTPUT_LIBTOOL_INIT
582])
583
584# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
585# ------------------------------------
586# Generate a child script FILE with all initialization necessary to
587# reuse the environment learned by the parent script, and make the
588# file executable. If COMMENT is supplied, it is inserted after the
589# '#!' sequence but before initialization text begins. After this
590# macro, additional text can be appended to FILE to form the body of
591# the child script. The macro ends with non-zero status if the
592# file could not be fully written (such as if the disk is full).
593m4_ifdef([AS_INIT_GENERATED],
594[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
595[m4_defun([_LT_GENERATED_FILE_INIT],
596[m4_require([AS_PREPARE])]dnl
597[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
598[lt_write_fail=0
599cat >$1 <<_ASEOF || lt_write_fail=1
600#! $SHELL
601# Generated by $as_me.
602$2
603SHELL=\${CONFIG_SHELL-$SHELL}
604export SHELL
605_ASEOF
606cat >>$1 <<\_ASEOF || lt_write_fail=1
607AS_SHELL_SANITIZE
608_AS_PREPARE
609exec AS_MESSAGE_FD>&1
610_ASEOF
611test 0 = "$lt_write_fail" && chmod +x $1[]dnl
612m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
613
614# LT_OUTPUT
615# ---------
616# This macro allows early generation of the libtool script (before
617# AC_OUTPUT is called), incase it is used in configure for compilation
618# tests.
619AC_DEFUN([LT_OUTPUT],
620[: ${CONFIG_LT=./config.lt}
621AC_MSG_NOTICE([creating $CONFIG_LT])
622_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
623[# Run this file to recreate a libtool stub with the current configuration.])
624
625cat >>"$CONFIG_LT" <<\_LTEOF
626lt_cl_silent=false
627exec AS_MESSAGE_LOG_FD>>config.log
628{
629 echo
630 AS_BOX([Running $as_me.])
631} >&AS_MESSAGE_LOG_FD
632
633lt_cl_help="\
634'$as_me' creates a local libtool stub from the current configuration,
635for use in further configure time tests before the real libtool is
636generated.
637
638Usage: $[0] [[OPTIONS]]
639
640 -h, --help print this help, then exit
641 -V, --version print version number, then exit
642 -q, --quiet do not print progress messages
643 -d, --debug don't remove temporary files
644
645Report bugs to <bug-libtool@gnu.org>."
646
647lt_cl_version="\
648m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
649m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
650configured by $[0], generated by m4_PACKAGE_STRING.
651
652Copyright (C) 2011 Free Software Foundation, Inc.
653This config.lt script is free software; the Free Software Foundation
654gives unlimited permision to copy, distribute and modify it."
655
656while test 0 != $[#]
657do
658 case $[1] in
659 --version | --v* | -V )
660 echo "$lt_cl_version"; exit 0 ;;
661 --help | --h* | -h )
662 echo "$lt_cl_help"; exit 0 ;;
663 --debug | --d* | -d )
664 debug=: ;;
665 --quiet | --q* | --silent | --s* | -q )
666 lt_cl_silent=: ;;
667
668 -*) AC_MSG_ERROR([unrecognized option: $[1]
669Try '$[0] --help' for more information.]) ;;
670
671 *) AC_MSG_ERROR([unrecognized argument: $[1]
672Try '$[0] --help' for more information.]) ;;
673 esac
674 shift
675done
676
677if $lt_cl_silent; then
678 exec AS_MESSAGE_FD>/dev/null
679fi
680_LTEOF
681
682cat >>"$CONFIG_LT" <<_LTEOF
683_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
684_LTEOF
685
686cat >>"$CONFIG_LT" <<\_LTEOF
687AC_MSG_NOTICE([creating $ofile])
688_LT_OUTPUT_LIBTOOL_COMMANDS
689AS_EXIT(0)
690_LTEOF
691chmod +x "$CONFIG_LT"
692
693# configure is writing to config.log, but config.lt does its own redirection,
694# appending to config.log, which fails on DOS, as config.log is still kept
695# open by configure. Here we exec the FD to /dev/null, effectively closing
696# config.log, so it can be properly (re)opened and appended to by config.lt.
697lt_cl_success=:
698test yes = "$silent" &&
699 lt_config_lt_args="$lt_config_lt_args --quiet"
700exec AS_MESSAGE_LOG_FD>/dev/null
701$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
702exec AS_MESSAGE_LOG_FD>>config.log
703$lt_cl_success || AS_EXIT(1)
704])# LT_OUTPUT
705
706
707# _LT_CONFIG(TAG)
708# ---------------
709# If TAG is the built-in tag, create an initial libtool script with a
710# default configuration from the untagged config vars. Otherwise add code
711# to config.status for appending the configuration named by TAG from the
712# matching tagged config vars.
713m4_defun([_LT_CONFIG],
714[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
715_LT_CONFIG_SAVE_COMMANDS([
716 m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
717 m4_if(_LT_TAG, [C], [
718 # See if we are running on zsh, and set the options that allow our
719 # commands through without removal of \ escapes.
720 if test -n "${ZSH_VERSION+set}"; then
721 setopt NO_GLOB_SUBST
722 fi
723
724 cfgfile=${ofile}T
725 trap "$RM \"$cfgfile\"; exit 1" 1 2 15
726 $RM "$cfgfile"
727
728 cat <<_LT_EOF >> "$cfgfile"
729#! $SHELL
730# Generated automatically by $as_me ($PACKAGE) $VERSION
731# NOTE: Changes made to this file will be lost: look at ltmain.sh.
732
733# Provide generalized library-building support services.
734# Written by Gordon Matzigkeit, 1996
735
736_LT_COPYING
737_LT_LIBTOOL_TAGS
738
739# Configured defaults for sys_lib_dlsearch_path munging.
740: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
741
742# ### BEGIN LIBTOOL CONFIG
743_LT_LIBTOOL_CONFIG_VARS
744_LT_LIBTOOL_TAG_VARS
745# ### END LIBTOOL CONFIG
746
747_LT_EOF
748
749 cat <<'_LT_EOF' >> "$cfgfile"
750
751# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
752
753_LT_PREPARE_MUNGE_PATH_LIST
754_LT_PREPARE_CC_BASENAME
755
756# ### END FUNCTIONS SHARED WITH CONFIGURE
757
758_LT_EOF
759
760 case $host_os in
761 aix3*)
762 cat <<\_LT_EOF >> "$cfgfile"
763# AIX sometimes has problems with the GCC collect2 program. For some
764# reason, if we set the COLLECT_NAMES environment variable, the problems
765# vanish in a puff of smoke.
766if test set != "${COLLECT_NAMES+set}"; then
767 COLLECT_NAMES=
768 export COLLECT_NAMES
769fi
770_LT_EOF
771 ;;
772 esac
773
774 _LT_PROG_LTMAIN
775
776 # We use sed instead of cat because bash on DJGPP gets confused if
777 # if finds mixed CR/LF and LF-only lines. Since sed operates in
778 # text mode, it properly converts lines to CR/LF. This bash problem
779 # is reportedly fixed, but why not run on old versions too?
780 sed '$q' "$ltmain" >> "$cfgfile" \
781 || (rm -f "$cfgfile"; exit 1)
782
783 mv -f "$cfgfile" "$ofile" ||
784 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
785 chmod +x "$ofile"
786],
787[cat <<_LT_EOF >> "$ofile"
788
789dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
790dnl in a comment (ie after a #).
791# ### BEGIN LIBTOOL TAG CONFIG: $1
792_LT_LIBTOOL_TAG_VARS(_LT_TAG)
793# ### END LIBTOOL TAG CONFIG: $1
794_LT_EOF
795])dnl /m4_if
796],
797[m4_if([$1], [], [
798 PACKAGE='$PACKAGE'
799 VERSION='$VERSION'
800 RM='$RM'
801 ofile='$ofile'], [])
802])dnl /_LT_CONFIG_SAVE_COMMANDS
803])# _LT_CONFIG
804
805
806# LT_SUPPORTED_TAG(TAG)
807# ---------------------
808# Trace this macro to discover what tags are supported by the libtool
809# --tag option, using:
810# autoconf --trace 'LT_SUPPORTED_TAG:$1'
811AC_DEFUN([LT_SUPPORTED_TAG], [])
812
813
814# C support is built-in for now
815m4_define([_LT_LANG_C_enabled], [])
816m4_define([_LT_TAGS], [])
817
818
819# LT_LANG(LANG)
820# -------------
821# Enable libtool support for the given language if not already enabled.
822AC_DEFUN([LT_LANG],
823[AC_BEFORE([$0], [LT_OUTPUT])dnl
824m4_case([$1],
825 [C], [_LT_LANG(C)],
826 [C++], [_LT_LANG(CXX)],
827 [Go], [_LT_LANG(GO)],
828 [Java], [_LT_LANG(GCJ)],
829 [Fortran 77], [_LT_LANG(F77)],
830 [Fortran], [_LT_LANG(FC)],
831 [Windows Resource], [_LT_LANG(RC)],
832 [m4_ifdef([_LT_LANG_]$1[_CONFIG],
833 [_LT_LANG($1)],
834 [m4_fatal([$0: unsupported language: "$1"])])])dnl
835])# LT_LANG
836
837
838# _LT_LANG(LANGNAME)
839# ------------------
840m4_defun([_LT_LANG],
841[m4_ifdef([_LT_LANG_]$1[_enabled], [],
842 [LT_SUPPORTED_TAG([$1])dnl
843 m4_append([_LT_TAGS], [$1 ])dnl
844 m4_define([_LT_LANG_]$1[_enabled], [])dnl
845 _LT_LANG_$1_CONFIG($1)])dnl
846])# _LT_LANG
847
848
849m4_ifndef([AC_PROG_GO], [
850############################################################
851# NOTE: This macro has been submitted for inclusion into #
852# GNU Autoconf as AC_PROG_GO. When it is available in #
853# a released version of Autoconf we should remove this #
854# macro and use it instead. #
855############################################################
856m4_defun([AC_PROG_GO],
857[AC_LANG_PUSH(Go)dnl
858AC_ARG_VAR([GOC], [Go compiler command])dnl
859AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
860_AC_ARG_VAR_LDFLAGS()dnl
861AC_CHECK_TOOL(GOC, gccgo)
862if test -z "$GOC"; then
863 if test -n "$ac_tool_prefix"; then
864 AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
865 fi
866fi
867if test -z "$GOC"; then
868 AC_CHECK_PROG(GOC, gccgo, gccgo, false)
869fi
870])#m4_defun
871])#m4_ifndef
872
873
874# _LT_LANG_DEFAULT_CONFIG
875# -----------------------
876m4_defun([_LT_LANG_DEFAULT_CONFIG],
877[AC_PROVIDE_IFELSE([AC_PROG_CXX],
878 [LT_LANG(CXX)],
879 [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
880
881AC_PROVIDE_IFELSE([AC_PROG_F77],
882 [LT_LANG(F77)],
883 [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
884
885AC_PROVIDE_IFELSE([AC_PROG_FC],
886 [LT_LANG(FC)],
887 [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
888
889dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
890dnl pulling things in needlessly.
891AC_PROVIDE_IFELSE([AC_PROG_GCJ],
892 [LT_LANG(GCJ)],
893 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
894 [LT_LANG(GCJ)],
895 [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
896 [LT_LANG(GCJ)],
897 [m4_ifdef([AC_PROG_GCJ],
898 [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
899 m4_ifdef([A][M_PROG_GCJ],
900 [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
901 m4_ifdef([LT_PROG_GCJ],
902 [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
903
904AC_PROVIDE_IFELSE([AC_PROG_GO],
905 [LT_LANG(GO)],
906 [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
907
908AC_PROVIDE_IFELSE([LT_PROG_RC],
909 [LT_LANG(RC)],
910 [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
911])# _LT_LANG_DEFAULT_CONFIG
912
913# Obsolete macros:
914AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
915AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
916AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
917AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
918AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
919dnl aclocal-1.4 backwards compatibility:
920dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
921dnl AC_DEFUN([AC_LIBTOOL_F77], [])
922dnl AC_DEFUN([AC_LIBTOOL_FC], [])
923dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
924dnl AC_DEFUN([AC_LIBTOOL_RC], [])
925
926
927# _LT_TAG_COMPILER
928# ----------------
929m4_defun([_LT_TAG_COMPILER],
930[AC_REQUIRE([AC_PROG_CC])dnl
931
932_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
933_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
934_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
935_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
936
937# If no C compiler was specified, use CC.
938LTCC=${LTCC-"$CC"}
939
940# If no C compiler flags were specified, use CFLAGS.
941LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
942
943# Allow CC to be a program name with arguments.
944compiler=$CC
945])# _LT_TAG_COMPILER
946
947
948# _LT_COMPILER_BOILERPLATE
949# ------------------------
950# Check for compiler boilerplate output or warnings with
951# the simple compiler test code.
952m4_defun([_LT_COMPILER_BOILERPLATE],
953[m4_require([_LT_DECL_SED])dnl
954ac_outfile=conftest.$ac_objext
955echo "$lt_simple_compile_test_code" >conftest.$ac_ext
956eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
957_lt_compiler_boilerplate=`cat conftest.err`
958$RM conftest*
959])# _LT_COMPILER_BOILERPLATE
960
961
962# _LT_LINKER_BOILERPLATE
963# ----------------------
964# Check for linker boilerplate output or warnings with
965# the simple link test code.
966m4_defun([_LT_LINKER_BOILERPLATE],
967[m4_require([_LT_DECL_SED])dnl
968ac_outfile=conftest.$ac_objext
969echo "$lt_simple_link_test_code" >conftest.$ac_ext
970eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
971_lt_linker_boilerplate=`cat conftest.err`
972$RM -r conftest*
973])# _LT_LINKER_BOILERPLATE
974
975# _LT_REQUIRED_DARWIN_CHECKS
976# -------------------------
977m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
978 case $host_os in
979 rhapsody* | darwin*)
980 AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
981 AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
982 AC_CHECK_TOOL([LIPO], [lipo], [:])
983 AC_CHECK_TOOL([OTOOL], [otool], [:])
984 AC_CHECK_TOOL([OTOOL64], [otool64], [:])
985 _LT_DECL([], [DSYMUTIL], [1],
986 [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
987 _LT_DECL([], [NMEDIT], [1],
988 [Tool to change global to local symbols on Mac OS X])
989 _LT_DECL([], [LIPO], [1],
990 [Tool to manipulate fat objects and archives on Mac OS X])
991 _LT_DECL([], [OTOOL], [1],
992 [ldd/readelf like tool for Mach-O binaries on Mac OS X])
993 _LT_DECL([], [OTOOL64], [1],
994 [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
995
996 AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
997 [lt_cv_apple_cc_single_mod=no
998 if test -z "$LT_MULTI_MODULE"; then
999 # By default we will add the -single_module flag. You can override
1000 # by either setting the environment variable LT_MULTI_MODULE
1001 # non-empty at configure time, or by adding -multi_module to the
1002 # link flags.
1003 rm -rf libconftest.dylib*
1004 echo "int foo(void){return 1;}" > conftest.c
1005 echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
1006-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
1007 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
1008 -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
1009 _lt_result=$?
1010 # If there is a non-empty error log, and "single_module"
1011 # appears in it, assume the flag caused a linker warning
1012 if test -s conftest.err && $GREP single_module conftest.err; then
1013 cat conftest.err >&AS_MESSAGE_LOG_FD
1014 # Otherwise, if the output was created with a 0 exit code from
1015 # the compiler, it worked.
1016 elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
1017 lt_cv_apple_cc_single_mod=yes
1018 else
1019 cat conftest.err >&AS_MESSAGE_LOG_FD
1020 fi
1021 rm -rf libconftest.dylib*
1022 rm -f conftest.*
1023 fi])
1024
1025 AC_CACHE_CHECK([for -exported_symbols_list linker flag],
1026 [lt_cv_ld_exported_symbols_list],
1027 [lt_cv_ld_exported_symbols_list=no
1028 save_LDFLAGS=$LDFLAGS
1029 echo "_main" > conftest.sym
1030 LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
1031 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
1032 [lt_cv_ld_exported_symbols_list=yes],
1033 [lt_cv_ld_exported_symbols_list=no])
1034 LDFLAGS=$save_LDFLAGS
1035 ])
1036
1037 AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
1038 [lt_cv_ld_force_load=no
1039 cat > conftest.c << _LT_EOF
1040int forced_loaded() { return 2;}
1041_LT_EOF
1042 echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
1043 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
1044 echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
1045 $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
1046 echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
1047 $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
1048 cat > conftest.c << _LT_EOF
1049int main() { return 0;}
1050_LT_EOF
1051 echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
1052 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
1053 _lt_result=$?
1054 if test -s conftest.err && $GREP force_load conftest.err; then
1055 cat conftest.err >&AS_MESSAGE_LOG_FD
1056 elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
1057 lt_cv_ld_force_load=yes
1058 else
1059 cat conftest.err >&AS_MESSAGE_LOG_FD
1060 fi
1061 rm -f conftest.err libconftest.a conftest conftest.c
1062 rm -rf conftest.dSYM
1063 ])
1064 case $host_os in
1065 rhapsody* | darwin1.[[012]])
1066 _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
1067 darwin1.*)
1068 _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
1069 darwin*) # darwin 5.x on
1070 # if running on 10.5 or later, the deployment target defaults
1071 # to the OS version, if on x86, and 10.4, the deployment
1072 # target defaults to 10.4. Don't you love it?
1073 case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
1074 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
1075 _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
1076 10.[[012]][[,.]]*)
1077 _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
1078 10.*)
1079 _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
1080 esac
1081 ;;
1082 esac
1083 if test yes = "$lt_cv_apple_cc_single_mod"; then
1084 _lt_dar_single_mod='$single_module'
1085 fi
1086 if test yes = "$lt_cv_ld_exported_symbols_list"; then
1087 _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
1088 else
1089 _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
1090 fi
1091 if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
1092 _lt_dsymutil='~$DSYMUTIL $lib || :'
1093 else
1094 _lt_dsymutil=
1095 fi
1096 ;;
1097 esac
1098])
1099
1100
1101# _LT_DARWIN_LINKER_FEATURES([TAG])
1102# ---------------------------------
1103# Checks for linker and compiler features on darwin
1104m4_defun([_LT_DARWIN_LINKER_FEATURES],
1105[
1106 m4_require([_LT_REQUIRED_DARWIN_CHECKS])
1107 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
1108 _LT_TAGVAR(hardcode_direct, $1)=no
1109 _LT_TAGVAR(hardcode_automatic, $1)=yes
1110 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
1111 if test yes = "$lt_cv_ld_force_load"; then
1112 _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
1113 m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
1114 [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
1115 else
1116 _LT_TAGVAR(whole_archive_flag_spec, $1)=''
1117 fi
1118 _LT_TAGVAR(link_all_deplibs, $1)=yes
1119 _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
1120 case $cc_basename in
1121 ifort*|nagfor*) _lt_dar_can_shared=yes ;;
1122 *) _lt_dar_can_shared=$GCC ;;
1123 esac
1124 if test yes = "$_lt_dar_can_shared"; then
1125 output_verbose_link_cmd=func_echo_all
1126 _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
1127 _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
1128 _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
1129 _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
1130 m4_if([$1], [CXX],
1131[ if test yes != "$lt_cv_apple_cc_single_mod"; then
1132 _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
1133 _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
1134 fi
1135],[])
1136 else
1137 _LT_TAGVAR(ld_shlibs, $1)=no
1138 fi
1139])
1140
1141# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
1142# ----------------------------------
1143# Links a minimal program and checks the executable
1144# for the system default hardcoded library path. In most cases,
1145# this is /usr/lib:/lib, but when the MPI compilers are used
1146# the location of the communication and MPI libs are included too.
1147# If we don't find anything, use the default library path according
1148# to the aix ld manual.
1149# Store the results from the different compilers for each TAGNAME.
1150# Allow to override them for all tags through lt_cv_aix_libpath.
1151m4_defun([_LT_SYS_MODULE_PATH_AIX],
1152[m4_require([_LT_DECL_SED])dnl
1153if test set = "${lt_cv_aix_libpath+set}"; then
1154 aix_libpath=$lt_cv_aix_libpath
1155else
1156 AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
1157 [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
1158 lt_aix_libpath_sed='[
1159 /Import File Strings/,/^$/ {
1160 /^0/ {
1161 s/^0 *\([^ ]*\) *$/\1/
1162 p
1163 }
1164 }]'
1165 _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1166 # Check for a 64-bit object if we didn't find anything.
1167 if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1168 _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1169 fi],[])
1170 if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1171 _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
1172 fi
1173 ])
1174 aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
1175fi
1176])# _LT_SYS_MODULE_PATH_AIX
1177
1178
1179# _LT_SHELL_INIT(ARG)
1180# -------------------
1181m4_define([_LT_SHELL_INIT],
1182[m4_divert_text([M4SH-INIT], [$1
1183])])# _LT_SHELL_INIT
1184
1185
1186
1187# _LT_PROG_ECHO_BACKSLASH
1188# -----------------------
1189# Find how we can fake an echo command that does not interpret backslash.
1190# In particular, with Autoconf 2.60 or later we add some code to the start
1191# of the generated configure script that will find a shell with a builtin
1192# printf (that we can use as an echo command).
1193m4_defun([_LT_PROG_ECHO_BACKSLASH],
1194[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1195ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1196ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1197
1198AC_MSG_CHECKING([how to print strings])
1199# Test print first, because it will be a builtin if present.
1200if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
1201 test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
1202 ECHO='print -r --'
1203elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
1204 ECHO='printf %s\n'
1205else
1206 # Use this function as a fallback that always works.
1207 func_fallback_echo ()
1208 {
1209 eval 'cat <<_LTECHO_EOF
1210$[]1
1211_LTECHO_EOF'
1212 }
1213 ECHO='func_fallback_echo'
1214fi
1215
1216# func_echo_all arg...
1217# Invoke $ECHO with all args, space-separated.
1218func_echo_all ()
1219{
1220 $ECHO "$*"
1221}
1222
1223case $ECHO in
1224 printf*) AC_MSG_RESULT([printf]) ;;
1225 print*) AC_MSG_RESULT([print -r]) ;;
1226 *) AC_MSG_RESULT([cat]) ;;
1227esac
1228
1229m4_ifdef([_AS_DETECT_SUGGESTED],
1230[_AS_DETECT_SUGGESTED([
1231 test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
1232 ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1233 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1234 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1235 PATH=/empty FPATH=/empty; export PATH FPATH
1236 test "X`printf %s $ECHO`" = "X$ECHO" \
1237 || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
1238
1239_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
1240_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
1241])# _LT_PROG_ECHO_BACKSLASH
1242
1243
1244# _LT_WITH_SYSROOT
1245# ----------------
1246AC_DEFUN([_LT_WITH_SYSROOT],
1247[AC_MSG_CHECKING([for sysroot])
1248AC_ARG_WITH([sysroot],
1249[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
1250 [Search for dependent libraries within DIR (or the compiler's sysroot
1251 if not specified).])],
1252[], [with_sysroot=no])
1253
1254dnl lt_sysroot will always be passed unquoted. We quote it here
1255dnl in case the user passed a directory name.
1256lt_sysroot=
1257case $with_sysroot in #(
1258 yes)
1259 if test yes = "$GCC"; then
1260 lt_sysroot=`$CC --print-sysroot 2>/dev/null`
1261 fi
1262 ;; #(
1263 /*)
1264 lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
1265 ;; #(
1266 no|'')
1267 ;; #(
1268 *)
1269 AC_MSG_RESULT([$with_sysroot])
1270 AC_MSG_ERROR([The sysroot must be an absolute path.])
1271 ;;
1272esac
1273
1274 AC_MSG_RESULT([${lt_sysroot:-no}])
1275_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
1276[dependent libraries, and where our libraries should be installed.])])
1277
1278# _LT_ENABLE_LOCK
1279# ---------------
1280m4_defun([_LT_ENABLE_LOCK],
1281[AC_ARG_ENABLE([libtool-lock],
1282 [AS_HELP_STRING([--disable-libtool-lock],
1283 [avoid locking (might break parallel builds)])])
1284test no = "$enable_libtool_lock" || enable_libtool_lock=yes
1285
1286# Some flags need to be propagated to the compiler or linker for good
1287# libtool support.
1288case $host in
1289ia64-*-hpux*)
1290 # Find out what ABI is being produced by ac_compile, and set mode
1291 # options accordingly.
1292 echo 'int i;' > conftest.$ac_ext
1293 if AC_TRY_EVAL(ac_compile); then
1294 case `/usr/bin/file conftest.$ac_objext` in
1295 *ELF-32*)
1296 HPUX_IA64_MODE=32
1297 ;;
1298 *ELF-64*)
1299 HPUX_IA64_MODE=64
1300 ;;
1301 esac
1302 fi
1303 rm -rf conftest*
1304 ;;
1305*-*-irix6*)
1306 # Find out what ABI is being produced by ac_compile, and set linker
1307 # options accordingly.
1308 echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
1309 if AC_TRY_EVAL(ac_compile); then
1310 if test yes = "$lt_cv_prog_gnu_ld"; then
1311 case `/usr/bin/file conftest.$ac_objext` in
1312 *32-bit*)
1313 LD="${LD-ld} -melf32bsmip"
1314 ;;
1315 *N32*)
1316 LD="${LD-ld} -melf32bmipn32"
1317 ;;
1318 *64-bit*)
1319 LD="${LD-ld} -melf64bmip"
1320 ;;
1321 esac
1322 else
1323 case `/usr/bin/file conftest.$ac_objext` in
1324 *32-bit*)
1325 LD="${LD-ld} -32"
1326 ;;
1327 *N32*)
1328 LD="${LD-ld} -n32"
1329 ;;
1330 *64-bit*)
1331 LD="${LD-ld} -64"
1332 ;;
1333 esac
1334 fi
1335 fi
1336 rm -rf conftest*
1337 ;;
1338
1339mips64*-*linux*)
1340 # Find out what ABI is being produced by ac_compile, and set linker
1341 # options accordingly.
1342 echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
1343 if AC_TRY_EVAL(ac_compile); then
1344 emul=elf
1345 case `/usr/bin/file conftest.$ac_objext` in
1346 *32-bit*)
1347 emul="${emul}32"
1348 ;;
1349 *64-bit*)
1350 emul="${emul}64"
1351 ;;
1352 esac
1353 case `/usr/bin/file conftest.$ac_objext` in
1354 *MSB*)
1355 emul="${emul}btsmip"
1356 ;;
1357 *LSB*)
1358 emul="${emul}ltsmip"
1359 ;;
1360 esac
1361 case `/usr/bin/file conftest.$ac_objext` in
1362 *N32*)
1363 emul="${emul}n32"
1364 ;;
1365 esac
1366 LD="${LD-ld} -m $emul"
1367 fi
1368 rm -rf conftest*
1369 ;;
1370
1371x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
1372s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
1373 # Find out what ABI is being produced by ac_compile, and set linker
1374 # options accordingly. Note that the listed cases only cover the
1375 # situations where additional linker options are needed (such as when
1376 # doing 32-bit compilation for a host where ld defaults to 64-bit, or
1377 # vice versa); the common cases where no linker options are needed do
1378 # not appear in the list.
1379 echo 'int i;' > conftest.$ac_ext
1380 if AC_TRY_EVAL(ac_compile); then
1381 case `/usr/bin/file conftest.o` in
1382 *32-bit*)
1383 case $host in
1384 x86_64-*kfreebsd*-gnu)
1385 LD="${LD-ld} -m elf_i386_fbsd"
1386 ;;
1387 x86_64-*linux*)
1388 case `/usr/bin/file conftest.o` in
1389 *x86-64*)
1390 LD="${LD-ld} -m elf32_x86_64"
1391 ;;
1392 *)
1393 LD="${LD-ld} -m elf_i386"
1394 ;;
1395 esac
1396 ;;
1397 powerpc64le-*linux*)
1398 LD="${LD-ld} -m elf32lppclinux"
1399 ;;
1400 powerpc64-*linux*)
1401 LD="${LD-ld} -m elf32ppclinux"
1402 ;;
1403 s390x-*linux*)
1404 LD="${LD-ld} -m elf_s390"
1405 ;;
1406 sparc64-*linux*)
1407 LD="${LD-ld} -m elf32_sparc"
1408 ;;
1409 esac
1410 ;;
1411 *64-bit*)
1412 case $host in
1413 x86_64-*kfreebsd*-gnu)
1414 LD="${LD-ld} -m elf_x86_64_fbsd"
1415 ;;
1416 x86_64-*linux*)
1417 LD="${LD-ld} -m elf_x86_64"
1418 ;;
1419 powerpcle-*linux*)
1420 LD="${LD-ld} -m elf64lppc"
1421 ;;
1422 powerpc-*linux*)
1423 LD="${LD-ld} -m elf64ppc"
1424 ;;
1425 s390*-*linux*|s390*-*tpf*)
1426 LD="${LD-ld} -m elf64_s390"
1427 ;;
1428 sparc*-*linux*)
1429 LD="${LD-ld} -m elf64_sparc"
1430 ;;
1431 esac
1432 ;;
1433 esac
1434 fi
1435 rm -rf conftest*
1436 ;;
1437
1438*-*-sco3.2v5*)
1439 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
1440 SAVE_CFLAGS=$CFLAGS
1441 CFLAGS="$CFLAGS -belf"
1442 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
1443 [AC_LANG_PUSH(C)
1444 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
1445 AC_LANG_POP])
1446 if test yes != "$lt_cv_cc_needs_belf"; then
1447 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
1448 CFLAGS=$SAVE_CFLAGS
1449 fi
1450 ;;
1451*-*solaris*)
1452 # Find out what ABI is being produced by ac_compile, and set linker
1453 # options accordingly.
1454 echo 'int i;' > conftest.$ac_ext
1455 if AC_TRY_EVAL(ac_compile); then
1456 case `/usr/bin/file conftest.o` in
1457 *64-bit*)
1458 case $lt_cv_prog_gnu_ld in
1459 yes*)
1460 case $host in
1461 i?86-*-solaris*|x86_64-*-solaris*)
1462 LD="${LD-ld} -m elf_x86_64"
1463 ;;
1464 sparc*-*-solaris*)
1465 LD="${LD-ld} -m elf64_sparc"
1466 ;;
1467 esac
1468 # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
1469 if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
1470 LD=${LD-ld}_sol2
1471 fi
1472 ;;
1473 *)
1474 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
1475 LD="${LD-ld} -64"
1476 fi
1477 ;;
1478 esac
1479 ;;
1480 esac
1481 fi
1482 rm -rf conftest*
1483 ;;
1484esac
1485
1486need_locks=$enable_libtool_lock
1487])# _LT_ENABLE_LOCK
1488
1489
1490# _LT_PROG_AR
1491# -----------
1492m4_defun([_LT_PROG_AR],
1493[AC_CHECK_TOOLS(AR, [ar], false)
1494: ${AR=ar}
1495: ${AR_FLAGS=cru}
1496_LT_DECL([], [AR], [1], [The archiver])
1497_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
1498
1499AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
1500 [lt_cv_ar_at_file=no
1501 AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
1502 [echo conftest.$ac_objext > conftest.lst
1503 lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
1504 AC_TRY_EVAL([lt_ar_try])
1505 if test 0 -eq "$ac_status"; then
1506 # Ensure the archiver fails upon bogus file names.
1507 rm -f conftest.$ac_objext libconftest.a
1508 AC_TRY_EVAL([lt_ar_try])
1509 if test 0 -ne "$ac_status"; then
1510 lt_cv_ar_at_file=@
1511 fi
1512 fi
1513 rm -f conftest.* libconftest.a
1514 ])
1515 ])
1516
1517if test no = "$lt_cv_ar_at_file"; then
1518 archiver_list_spec=
1519else
1520 archiver_list_spec=$lt_cv_ar_at_file
1521fi
1522_LT_DECL([], [archiver_list_spec], [1],
1523 [How to feed a file listing to the archiver])
1524])# _LT_PROG_AR
1525
1526
1527# _LT_CMD_OLD_ARCHIVE
1528# -------------------
1529m4_defun([_LT_CMD_OLD_ARCHIVE],
1530[_LT_PROG_AR
1531
1532AC_CHECK_TOOL(STRIP, strip, :)
1533test -z "$STRIP" && STRIP=:
1534_LT_DECL([], [STRIP], [1], [A symbol stripping program])
1535
1536AC_CHECK_TOOL(RANLIB, ranlib, :)
1537test -z "$RANLIB" && RANLIB=:
1538_LT_DECL([], [RANLIB], [1],
1539 [Commands used to install an old-style archive])
1540
1541# Determine commands to create old-style static archives.
1542old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
1543old_postinstall_cmds='chmod 644 $oldlib'
1544old_postuninstall_cmds=
1545
1546if test -n "$RANLIB"; then
1547 case $host_os in
1548 bitrig* | openbsd*)
1549 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
1550 ;;
1551 *)
1552 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
1553 ;;
1554 esac
1555 old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
1556fi
1557
1558case $host_os in
1559 darwin*)
1560 lock_old_archive_extraction=yes ;;
1561 *)
1562 lock_old_archive_extraction=no ;;
1563esac
1564_LT_DECL([], [old_postinstall_cmds], [2])
1565_LT_DECL([], [old_postuninstall_cmds], [2])
1566_LT_TAGDECL([], [old_archive_cmds], [2],
1567 [Commands used to build an old-style archive])
1568_LT_DECL([], [lock_old_archive_extraction], [0],
1569 [Whether to use a lock for old archive extraction])
1570])# _LT_CMD_OLD_ARCHIVE
1571
1572
1573# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1574# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
1575# ----------------------------------------------------------------
1576# Check whether the given compiler option works
1577AC_DEFUN([_LT_COMPILER_OPTION],
1578[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1579m4_require([_LT_DECL_SED])dnl
1580AC_CACHE_CHECK([$1], [$2],
1581 [$2=no
1582 m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
1583 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1584 lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment
1585 # Insert the option either (1) after the last *FLAGS variable, or
1586 # (2) before a word containing "conftest.", or (3) at the end.
1587 # Note that $ac_compile itself does not contain backslashes and begins
1588 # with a dollar sign (not a hyphen), so the echo should work correctly.
1589 # The option is referenced via a variable to avoid confusing sed.
1590 lt_compile=`echo "$ac_compile" | $SED \
1591 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1592 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1593 -e 's:$: $lt_compiler_flag:'`
1594 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1595 (eval "$lt_compile" 2>conftest.err)
1596 ac_status=$?
1597 cat conftest.err >&AS_MESSAGE_LOG_FD
1598 echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1599 if (exit $ac_status) && test -s "$ac_outfile"; then
1600 # The compiler can only warn and ignore the option if not recognized
1601 # So say no if there are warnings other than the usual output.
1602 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
1603 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1604 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
1605 $2=yes
1606 fi
1607 fi
1608 $RM conftest*
1609])
1610
1611if test yes = "[$]$2"; then
1612 m4_if([$5], , :, [$5])
1613else
1614 m4_if([$6], , :, [$6])
1615fi
1616])# _LT_COMPILER_OPTION
1617
1618# Old name:
1619AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
1620dnl aclocal-1.4 backwards compatibility:
1621dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
1622
1623
1624# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1625# [ACTION-SUCCESS], [ACTION-FAILURE])
1626# ----------------------------------------------------
1627# Check whether the given linker option works
1628AC_DEFUN([_LT_LINKER_OPTION],
1629[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1630m4_require([_LT_DECL_SED])dnl
1631AC_CACHE_CHECK([$1], [$2],
1632 [$2=no
1633 save_LDFLAGS=$LDFLAGS
1634 LDFLAGS="$LDFLAGS $3"
1635 echo "$lt_simple_link_test_code" > conftest.$ac_ext
1636 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
1637 # The linker can only warn and ignore the option if not recognized
1638 # So say no if there are warnings
1639 if test -s conftest.err; then
1640 # Append any errors to the config.log.
1641 cat conftest.err 1>&AS_MESSAGE_LOG_FD
1642 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
1643 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1644 if diff conftest.exp conftest.er2 >/dev/null; then
1645 $2=yes
1646 fi
1647 else
1648 $2=yes
1649 fi
1650 fi
1651 $RM -r conftest*
1652 LDFLAGS=$save_LDFLAGS
1653])
1654
1655if test yes = "[$]$2"; then
1656 m4_if([$4], , :, [$4])
1657else
1658 m4_if([$5], , :, [$5])
1659fi
1660])# _LT_LINKER_OPTION
1661
1662# Old name:
1663AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
1664dnl aclocal-1.4 backwards compatibility:
1665dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
1666
1667
1668# LT_CMD_MAX_LEN
1669#---------------
1670AC_DEFUN([LT_CMD_MAX_LEN],
1671[AC_REQUIRE([AC_CANONICAL_HOST])dnl
1672# find the maximum length of command line arguments
1673AC_MSG_CHECKING([the maximum length of command line arguments])
1674AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1675 i=0
1676 teststring=ABCD
1677
1678 case $build_os in
1679 msdosdjgpp*)
1680 # On DJGPP, this test can blow up pretty badly due to problems in libc
1681 # (any single argument exceeding 2000 bytes causes a buffer overrun
1682 # during glob expansion). Even if it were fixed, the result of this
1683 # check would be larger than it should be.
1684 lt_cv_sys_max_cmd_len=12288; # 12K is about right
1685 ;;
1686
1687 gnu*)
1688 # Under GNU Hurd, this test is not required because there is
1689 # no limit to the length of command line arguments.
1690 # Libtool will interpret -1 as no limit whatsoever
1691 lt_cv_sys_max_cmd_len=-1;
1692 ;;
1693
1694 cygwin* | mingw* | cegcc*)
1695 # On Win9x/ME, this test blows up -- it succeeds, but takes
1696 # about 5 minutes as the teststring grows exponentially.
1697 # Worse, since 9x/ME are not pre-emptively multitasking,
1698 # you end up with a "frozen" computer, even though with patience
1699 # the test eventually succeeds (with a max line length of 256k).
1700 # Instead, let's just punt: use the minimum linelength reported by
1701 # all of the supported platforms: 8192 (on NT/2K/XP).
1702 lt_cv_sys_max_cmd_len=8192;
1703 ;;
1704
1705 mint*)
1706 # On MiNT this can take a long time and run out of memory.
1707 lt_cv_sys_max_cmd_len=8192;
1708 ;;
1709
1710 amigaos*)
1711 # On AmigaOS with pdksh, this test takes hours, literally.
1712 # So we just punt and use a minimum line length of 8192.
1713 lt_cv_sys_max_cmd_len=8192;
1714 ;;
1715
1716 bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
1717 # This has been around since 386BSD, at least. Likely further.
1718 if test -x /sbin/sysctl; then
1719 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
1720 elif test -x /usr/sbin/sysctl; then
1721 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
1722 else
1723 lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
1724 fi
1725 # And add a safety zone
1726 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1727 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1728 ;;
1729
1730 interix*)
1731 # We know the value 262144 and hardcode it with a safety zone (like BSD)
1732 lt_cv_sys_max_cmd_len=196608
1733 ;;
1734
1735 os2*)
1736 # The test takes a long time on OS/2.
1737 lt_cv_sys_max_cmd_len=8192
1738 ;;
1739
1740 osf*)
1741 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
1742 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
1743 # nice to cause kernel panics so lets avoid the loop below.
1744 # First set a reasonable default.
1745 lt_cv_sys_max_cmd_len=16384
1746 #
1747 if test -x /sbin/sysconfig; then
1748 case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
1749 *1*) lt_cv_sys_max_cmd_len=-1 ;;
1750 esac
1751 fi
1752 ;;
1753 sco3.2v5*)
1754 lt_cv_sys_max_cmd_len=102400
1755 ;;
1756 sysv5* | sco5v6* | sysv4.2uw2*)
1757 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
1758 if test -n "$kargmax"; then
1759 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
1760 else
1761 lt_cv_sys_max_cmd_len=32768
1762 fi
1763 ;;
1764 *)
1765 lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
1766 if test -n "$lt_cv_sys_max_cmd_len" && \
1767 test undefined != "$lt_cv_sys_max_cmd_len"; then
1768 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1769 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1770 else
1771 # Make teststring a little bigger before we do anything with it.
1772 # a 1K string should be a reasonable start.
1773 for i in 1 2 3 4 5 6 7 8; do
1774 teststring=$teststring$teststring
1775 done
1776 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1777 # If test is not a shell built-in, we'll probably end up computing a
1778 # maximum length that is only half of the actual maximum length, but
1779 # we can't tell.
1780 while { test X`env echo "$teststring$teststring" 2>/dev/null` \
1781 = "X$teststring$teststring"; } >/dev/null 2>&1 &&
1782 test 17 != "$i" # 1/2 MB should be enough
1783 do
1784 i=`expr $i + 1`
1785 teststring=$teststring$teststring
1786 done
1787 # Only check the string length outside the loop.
1788 lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
1789 teststring=
1790 # Add a significant safety factor because C++ compilers can tack on
1791 # massive amounts of additional arguments before passing them to the
1792 # linker. It appears as though 1/2 is a usable value.
1793 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
1794 fi
1795 ;;
1796 esac
1797])
1798if test -n "$lt_cv_sys_max_cmd_len"; then
1799 AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
1800else
1801 AC_MSG_RESULT(none)
1802fi
1803max_cmd_len=$lt_cv_sys_max_cmd_len
1804_LT_DECL([], [max_cmd_len], [0],
1805 [What is the maximum length of a command?])
1806])# LT_CMD_MAX_LEN
1807
1808# Old name:
1809AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
1810dnl aclocal-1.4 backwards compatibility:
1811dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
1812
1813
1814# _LT_HEADER_DLFCN
1815# ----------------
1816m4_defun([_LT_HEADER_DLFCN],
1817[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
1818])# _LT_HEADER_DLFCN
1819
1820
1821# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1822# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1823# ----------------------------------------------------------------
1824m4_defun([_LT_TRY_DLOPEN_SELF],
1825[m4_require([_LT_HEADER_DLFCN])dnl
1826if test yes = "$cross_compiling"; then :
1827 [$4]
1828else
1829 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1830 lt_status=$lt_dlunknown
1831 cat > conftest.$ac_ext <<_LT_EOF
1832[#line $LINENO "configure"
1833#include "confdefs.h"
1834
1835#if HAVE_DLFCN_H
1836#include <dlfcn.h>
1837#endif
1838
1839#include <stdio.h>
1840
1841#ifdef RTLD_GLOBAL
1842# define LT_DLGLOBAL RTLD_GLOBAL
1843#else
1844# ifdef DL_GLOBAL
1845# define LT_DLGLOBAL DL_GLOBAL
1846# else
1847# define LT_DLGLOBAL 0
1848# endif
1849#endif
1850
1851/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1852 find out it does not work in some platform. */
1853#ifndef LT_DLLAZY_OR_NOW
1854# ifdef RTLD_LAZY
1855# define LT_DLLAZY_OR_NOW RTLD_LAZY
1856# else
1857# ifdef DL_LAZY
1858# define LT_DLLAZY_OR_NOW DL_LAZY
1859# else
1860# ifdef RTLD_NOW
1861# define LT_DLLAZY_OR_NOW RTLD_NOW
1862# else
1863# ifdef DL_NOW
1864# define LT_DLLAZY_OR_NOW DL_NOW
1865# else
1866# define LT_DLLAZY_OR_NOW 0
1867# endif
1868# endif
1869# endif
1870# endif
1871#endif
1872
1873/* When -fvisibility=hidden is used, assume the code has been annotated
1874 correspondingly for the symbols needed. */
1875#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
1876int fnord () __attribute__((visibility("default")));
1877#endif
1878
1879int fnord () { return 42; }
1880int main ()
1881{
1882 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1883 int status = $lt_dlunknown;
1884
1885 if (self)
1886 {
1887 if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
1888 else
1889 {
1890 if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
1891 else puts (dlerror ());
1892 }
1893 /* dlclose (self); */
1894 }
1895 else
1896 puts (dlerror ());
1897
1898 return status;
1899}]
1900_LT_EOF
1901 if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
1902 (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
1903 lt_status=$?
1904 case x$lt_status in
1905 x$lt_dlno_uscore) $1 ;;
1906 x$lt_dlneed_uscore) $2 ;;
1907 x$lt_dlunknown|x*) $3 ;;
1908 esac
1909 else :
1910 # compilation failed
1911 $3
1912 fi
1913fi
1914rm -fr conftest*
1915])# _LT_TRY_DLOPEN_SELF
1916
1917
1918# LT_SYS_DLOPEN_SELF
1919# ------------------
1920AC_DEFUN([LT_SYS_DLOPEN_SELF],
1921[m4_require([_LT_HEADER_DLFCN])dnl
1922if test yes != "$enable_dlopen"; then
1923 enable_dlopen=unknown
1924 enable_dlopen_self=unknown
1925 enable_dlopen_self_static=unknown
1926else
1927 lt_cv_dlopen=no
1928 lt_cv_dlopen_libs=
1929
1930 case $host_os in
1931 beos*)
1932 lt_cv_dlopen=load_add_on
1933 lt_cv_dlopen_libs=
1934 lt_cv_dlopen_self=yes
1935 ;;
1936
1937 mingw* | pw32* | cegcc*)
1938 lt_cv_dlopen=LoadLibrary
1939 lt_cv_dlopen_libs=
1940 ;;
1941
1942 cygwin*)
1943 lt_cv_dlopen=dlopen
1944 lt_cv_dlopen_libs=
1945 ;;
1946
1947 darwin*)
1948 # if libdl is installed we need to link against it
1949 AC_CHECK_LIB([dl], [dlopen],
1950 [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
1951 lt_cv_dlopen=dyld
1952 lt_cv_dlopen_libs=
1953 lt_cv_dlopen_self=yes
1954 ])
1955 ;;
1956
1957 tpf*)
1958 # Don't try to run any link tests for TPF. We know it's impossible
1959 # because TPF is a cross-compiler, and we know how we open DSOs.
1960 lt_cv_dlopen=dlopen
1961 lt_cv_dlopen_libs=
1962 lt_cv_dlopen_self=no
1963 ;;
1964
1965 *)
1966 AC_CHECK_FUNC([shl_load],
1967 [lt_cv_dlopen=shl_load],
1968 [AC_CHECK_LIB([dld], [shl_load],
1969 [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
1970 [AC_CHECK_FUNC([dlopen],
1971 [lt_cv_dlopen=dlopen],
1972 [AC_CHECK_LIB([dl], [dlopen],
1973 [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
1974 [AC_CHECK_LIB([svld], [dlopen],
1975 [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
1976 [AC_CHECK_LIB([dld], [dld_link],
1977 [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
1978 ])
1979 ])
1980 ])
1981 ])
1982 ])
1983 ;;
1984 esac
1985
1986 if test no = "$lt_cv_dlopen"; then
1987 enable_dlopen=no
1988 else
1989 enable_dlopen=yes
1990 fi
1991
1992 case $lt_cv_dlopen in
1993 dlopen)
1994 save_CPPFLAGS=$CPPFLAGS
1995 test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
1996
1997 save_LDFLAGS=$LDFLAGS
1998 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
1999
2000 save_LIBS=$LIBS
2001 LIBS="$lt_cv_dlopen_libs $LIBS"
2002
2003 AC_CACHE_CHECK([whether a program can dlopen itself],
2004 lt_cv_dlopen_self, [dnl
2005 _LT_TRY_DLOPEN_SELF(
2006 lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
2007 lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
2008 ])
2009
2010 if test yes = "$lt_cv_dlopen_self"; then
2011 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
2012 AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
2013 lt_cv_dlopen_self_static, [dnl
2014 _LT_TRY_DLOPEN_SELF(
2015 lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
2016 lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
2017 ])
2018 fi
2019
2020 CPPFLAGS=$save_CPPFLAGS
2021 LDFLAGS=$save_LDFLAGS
2022 LIBS=$save_LIBS
2023 ;;
2024 esac
2025
2026 case $lt_cv_dlopen_self in
2027 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
2028 *) enable_dlopen_self=unknown ;;
2029 esac
2030
2031 case $lt_cv_dlopen_self_static in
2032 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
2033 *) enable_dlopen_self_static=unknown ;;
2034 esac
2035fi
2036_LT_DECL([dlopen_support], [enable_dlopen], [0],
2037 [Whether dlopen is supported])
2038_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
2039 [Whether dlopen of programs is supported])
2040_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
2041 [Whether dlopen of statically linked programs is supported])
2042])# LT_SYS_DLOPEN_SELF
2043
2044# Old name:
2045AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
2046dnl aclocal-1.4 backwards compatibility:
2047dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
2048
2049
2050# _LT_COMPILER_C_O([TAGNAME])
2051# ---------------------------
2052# Check to see if options -c and -o are simultaneously supported by compiler.
2053# This macro does not hard code the compiler like AC_PROG_CC_C_O.
2054m4_defun([_LT_COMPILER_C_O],
2055[m4_require([_LT_DECL_SED])dnl
2056m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2057m4_require([_LT_TAG_COMPILER])dnl
2058AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
2059 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
2060 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
2061 $RM -r conftest 2>/dev/null
2062 mkdir conftest
2063 cd conftest
2064 mkdir out
2065 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
2066
2067 lt_compiler_flag="-o out/conftest2.$ac_objext"
2068 # Insert the option either (1) after the last *FLAGS variable, or
2069 # (2) before a word containing "conftest.", or (3) at the end.
2070 # Note that $ac_compile itself does not contain backslashes and begins
2071 # with a dollar sign (not a hyphen), so the echo should work correctly.
2072 lt_compile=`echo "$ac_compile" | $SED \
2073 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
2074 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
2075 -e 's:$: $lt_compiler_flag:'`
2076 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
2077 (eval "$lt_compile" 2>out/conftest.err)
2078 ac_status=$?
2079 cat out/conftest.err >&AS_MESSAGE_LOG_FD
2080 echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
2081 if (exit $ac_status) && test -s out/conftest2.$ac_objext
2082 then
2083 # The compiler can only warn and ignore the option if not recognized
2084 # So say no if there are warnings
2085 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
2086 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
2087 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
2088 _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
2089 fi
2090 fi
2091 chmod u+w . 2>&AS_MESSAGE_LOG_FD
2092 $RM conftest*
2093 # SGI C++ compiler will create directory out/ii_files/ for
2094 # template instantiation
2095 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
2096 $RM out/* && rmdir out
2097 cd ..
2098 $RM -r conftest
2099 $RM conftest*
2100])
2101_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
2102 [Does compiler simultaneously support -c and -o options?])
2103])# _LT_COMPILER_C_O
2104
2105
2106# _LT_COMPILER_FILE_LOCKS([TAGNAME])
2107# ----------------------------------
2108# Check to see if we can do hard links to lock some files if needed
2109m4_defun([_LT_COMPILER_FILE_LOCKS],
2110[m4_require([_LT_ENABLE_LOCK])dnl
2111m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2112_LT_COMPILER_C_O([$1])
2113
2114hard_links=nottested
2115if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
2116 # do not overwrite the value of need_locks provided by the user
2117 AC_MSG_CHECKING([if we can lock with hard links])
2118 hard_links=yes
2119 $RM conftest*
2120 ln conftest.a conftest.b 2>/dev/null && hard_links=no
2121 touch conftest.a
2122 ln conftest.a conftest.b 2>&5 || hard_links=no
2123 ln conftest.a conftest.b 2>/dev/null && hard_links=no
2124 AC_MSG_RESULT([$hard_links])
2125 if test no = "$hard_links"; then
2126 AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
2127 need_locks=warn
2128 fi
2129else
2130 need_locks=no
2131fi
2132_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
2133])# _LT_COMPILER_FILE_LOCKS
2134
2135
2136# _LT_CHECK_OBJDIR
2137# ----------------
2138m4_defun([_LT_CHECK_OBJDIR],
2139[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
2140[rm -f .libs 2>/dev/null
2141mkdir .libs 2>/dev/null
2142if test -d .libs; then
2143 lt_cv_objdir=.libs
2144else
2145 # MS-DOS does not allow filenames that begin with a dot.
2146 lt_cv_objdir=_libs
2147fi
2148rmdir .libs 2>/dev/null])
2149objdir=$lt_cv_objdir
2150_LT_DECL([], [objdir], [0],
2151 [The name of the directory that contains temporary libtool files])dnl
2152m4_pattern_allow([LT_OBJDIR])dnl
2153AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
2154 [Define to the sub-directory where libtool stores uninstalled libraries.])
2155])# _LT_CHECK_OBJDIR
2156
2157
2158# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
2159# --------------------------------------
2160# Check hardcoding attributes.
2161m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
2162[AC_MSG_CHECKING([how to hardcode library paths into programs])
2163_LT_TAGVAR(hardcode_action, $1)=
2164if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
2165 test -n "$_LT_TAGVAR(runpath_var, $1)" ||
2166 test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
2167
2168 # We can hardcode non-existent directories.
2169 if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
2170 # If the only mechanism to avoid hardcoding is shlibpath_var, we
2171 # have to relink, otherwise we might link with an installed library
2172 # when we should be linking with a yet-to-be-installed one
2173 ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
2174 test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
2175 # Linking always hardcodes the temporary library directory.
2176 _LT_TAGVAR(hardcode_action, $1)=relink
2177 else
2178 # We can link without hardcoding, and we can hardcode nonexisting dirs.
2179 _LT_TAGVAR(hardcode_action, $1)=immediate
2180 fi
2181else
2182 # We cannot hardcode anything, or else we can only hardcode existing
2183 # directories.
2184 _LT_TAGVAR(hardcode_action, $1)=unsupported
2185fi
2186AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
2187
2188if test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
2189 test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
2190 # Fast installation is not supported
2191 enable_fast_install=no
2192elif test yes = "$shlibpath_overrides_runpath" ||
2193 test no = "$enable_shared"; then
2194 # Fast installation is not necessary
2195 enable_fast_install=needless
2196fi
2197_LT_TAGDECL([], [hardcode_action], [0],
2198 [How to hardcode a shared library path into an executable])
2199])# _LT_LINKER_HARDCODE_LIBPATH
2200
2201
2202# _LT_CMD_STRIPLIB
2203# ----------------
2204m4_defun([_LT_CMD_STRIPLIB],
2205[m4_require([_LT_DECL_EGREP])
2206striplib=
2207old_striplib=
2208AC_MSG_CHECKING([whether stripping libraries is possible])
2209if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
2210 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
2211 test -z "$striplib" && striplib="$STRIP --strip-unneeded"
2212 AC_MSG_RESULT([yes])
2213else
2214# FIXME - insert some real tests, host_os isn't really good enough
2215 case $host_os in
2216 darwin*)
2217 if test -n "$STRIP"; then
2218 striplib="$STRIP -x"
2219 old_striplib="$STRIP -S"
2220 AC_MSG_RESULT([yes])
2221 else
2222 AC_MSG_RESULT([no])
2223 fi
2224 ;;
2225 *)
2226 AC_MSG_RESULT([no])
2227 ;;
2228 esac
2229fi
2230_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
2231_LT_DECL([], [striplib], [1])
2232])# _LT_CMD_STRIPLIB
2233
2234
2235# _LT_PREPARE_MUNGE_PATH_LIST
2236# ---------------------------
2237# Make sure func_munge_path_list() is defined correctly.
2238m4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
2239[[# func_munge_path_list VARIABLE PATH
2240# -----------------------------------
2241# VARIABLE is name of variable containing _space_ separated list of
2242# directories to be munged by the contents of PATH, which is string
2243# having a format:
2244# "DIR[:DIR]:"
2245# string "DIR[ DIR]" will be prepended to VARIABLE
2246# ":DIR[:DIR]"
2247# string "DIR[ DIR]" will be appended to VARIABLE
2248# "DIRP[:DIRP]::[DIRA:]DIRA"
2249# string "DIRP[ DIRP]" will be prepended to VARIABLE and string
2250# "DIRA[ DIRA]" will be appended to VARIABLE
2251# "DIR[:DIR]"
2252# VARIABLE will be replaced by "DIR[ DIR]"
2253func_munge_path_list ()
2254{
2255 case x@S|@2 in
2256 x)
2257 ;;
2258 *:)
2259 eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
2260 ;;
2261 x:*)
2262 eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
2263 ;;
2264 *::*)
2265 eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
2266 eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
2267 ;;
2268 *)
2269 eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
2270 ;;
2271 esac
2272}
2273]])# _LT_PREPARE_PATH_LIST
2274
2275
2276# _LT_SYS_DYNAMIC_LINKER([TAG])
2277# -----------------------------
2278# PORTME Fill in your ld.so characteristics
2279m4_defun([_LT_SYS_DYNAMIC_LINKER],
2280[AC_REQUIRE([AC_CANONICAL_HOST])dnl
2281m4_require([_LT_DECL_EGREP])dnl
2282m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2283m4_require([_LT_DECL_OBJDUMP])dnl
2284m4_require([_LT_DECL_SED])dnl
2285m4_require([_LT_CHECK_SHELL_FEATURES])dnl
2286m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
2287AC_MSG_CHECKING([dynamic linker characteristics])
2288m4_if([$1],
2289 [], [
2290if test yes = "$GCC"; then
2291 case $host_os in
2292 darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
2293 *) lt_awk_arg='/^libraries:/' ;;
2294 esac
2295 case $host_os in
2296 mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
2297 *) lt_sed_strip_eq='s|=/|/|g' ;;
2298 esac
2299 lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
2300 case $lt_search_path_spec in
2301 *\;*)
2302 # if the path contains ";" then we assume it to be the separator
2303 # otherwise default to the standard path separator (i.e. ":") - it is
2304 # assumed that no part of a normal pathname contains ";" but that should
2305 # okay in the real world where ";" in dirpaths is itself problematic.
2306 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
2307 ;;
2308 *)
2309 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
2310 ;;
2311 esac
2312 # Ok, now we have the path, separated by spaces, we can step through it
2313 # and add multilib dir if necessary...
2314 lt_tmp_lt_search_path_spec=
2315 lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
2316 # ...but if some path component already ends with the multilib dir we assume
2317 # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
2318 case "$lt_multi_os_dir; $lt_search_path_spec " in
2319 "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
2320 lt_multi_os_dir=
2321 ;;
2322 esac
2323 for lt_sys_path in $lt_search_path_spec; do
2324 if test -d "$lt_sys_path$lt_multi_os_dir"; then
2325 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
2326 elif test -n "$lt_multi_os_dir"; then
2327 test -d "$lt_sys_path" && \
2328 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
2329 fi
2330 done
2331 lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
2332BEGIN {RS = " "; FS = "/|\n";} {
2333 lt_foo = "";
2334 lt_count = 0;
2335 for (lt_i = NF; lt_i > 0; lt_i--) {
2336 if ($lt_i != "" && $lt_i != ".") {
2337 if ($lt_i == "..") {
2338 lt_count++;
2339 } else {
2340 if (lt_count == 0) {
2341 lt_foo = "/" $lt_i lt_foo;
2342 } else {
2343 lt_count--;
2344 }
2345 }
2346 }
2347 }
2348 if (lt_foo != "") { lt_freq[[lt_foo]]++; }
2349 if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
2350}'`
2351 # AWK program above erroneously prepends '/' to C:/dos/paths
2352 # for these hosts.
2353 case $host_os in
2354 mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
2355 $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
2356 esac
2357 sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
2358else
2359 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2360fi])
2361library_names_spec=
2362libname_spec='lib$name'
2363soname_spec=
2364shrext_cmds=.so
2365postinstall_cmds=
2366postuninstall_cmds=
2367finish_cmds=
2368finish_eval=
2369shlibpath_var=
2370shlibpath_overrides_runpath=unknown
2371version_type=none
2372dynamic_linker="$host_os ld.so"
2373sys_lib_dlsearch_path_spec="/lib /usr/lib"
2374need_lib_prefix=unknown
2375hardcode_into_libs=no
2376
2377# when you set need_version to no, make sure it does not cause -set_version
2378# flags to be left without arguments
2379need_version=unknown
2380
2381AC_ARG_VAR([LT_SYS_LIBRARY_PATH],
2382[User-defined run-time library search path.])
2383
2384case $host_os in
2385aix3*)
2386 version_type=linux # correct to gnu/linux during the next big refactor
2387 library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
2388 shlibpath_var=LIBPATH
2389
2390 # AIX 3 has no versioning support, so we append a major version to the name.
2391 soname_spec='$libname$release$shared_ext$major'
2392 ;;
2393
2394aix[[4-9]]*)
2395 version_type=linux # correct to gnu/linux during the next big refactor
2396 need_lib_prefix=no
2397 need_version=no
2398 hardcode_into_libs=yes
2399 if test ia64 = "$host_cpu"; then
2400 # AIX 5 supports IA64
2401 library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
2402 shlibpath_var=LD_LIBRARY_PATH
2403 else
2404 # With GCC up to 2.95.x, collect2 would create an import file
2405 # for dependence libraries. The import file would start with
2406 # the line '#! .'. This would cause the generated library to
2407 # depend on '.', always an invalid library. This was fixed in
2408 # development snapshots of GCC prior to 3.0.
2409 case $host_os in
2410 aix4 | aix4.[[01]] | aix4.[[01]].*)
2411 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2412 echo ' yes '
2413 echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
2414 :
2415 else
2416 can_build_shared=no
2417 fi
2418 ;;
2419 esac
2420 # Using Import Files as archive members, it is possible to support
2421 # filename-based versioning of shared library archives on AIX. While
2422 # this would work for both with and without runtime linking, it will
2423 # prevent static linking of such archives. So we do filename-based
2424 # shared library versioning with .so extension only, which is used
2425 # when both runtime linking and shared linking is enabled.
2426 # Unfortunately, runtime linking may impact performance, so we do
2427 # not want this to be the default eventually. Also, we use the
2428 # versioned .so libs for executables only if there is the -brtl
2429 # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
2430 # To allow for filename-based versioning support, we need to create
2431 # libNAME.so.V as an archive file, containing:
2432 # *) an Import File, referring to the versioned filename of the
2433 # archive as well as the shared archive member, telling the
2434 # bitwidth (32 or 64) of that shared object, and providing the
2435 # list of exported symbols of that shared object, eventually
2436 # decorated with the 'weak' keyword
2437 # *) the shared object with the F_LOADONLY flag set, to really avoid
2438 # it being seen by the linker.
2439 # At run time we better use the real file rather than another symlink,
2440 # but for link time we create the symlink libNAME.so -> libNAME.so.V
2441
2442 case $with_aix_soname,$aix_use_runtimelinking in
2443 # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
2444 # soname into executable. Probably we can add versioning support to
2445 # collect2, so additional links can be useful in future.
2446 aix,yes) # traditional libtool
2447 dynamic_linker='AIX unversionable lib.so'
2448 # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2449 # instead of lib<name>.a to let people know that these are not
2450 # typical AIX shared libraries.
2451 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2452 ;;
2453 aix,no) # traditional AIX only
2454 dynamic_linker='AIX lib.a[(]lib.so.V[)]'
2455 # We preserve .a as extension for shared libraries through AIX4.2
2456 # and later when we are not doing run time linking.
2457 library_names_spec='$libname$release.a $libname.a'
2458 soname_spec='$libname$release$shared_ext$major'
2459 ;;
2460 svr4,*) # full svr4 only
2461 dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
2462 library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
2463 # We do not specify a path in Import Files, so LIBPATH fires.
2464 shlibpath_overrides_runpath=yes
2465 ;;
2466 *,yes) # both, prefer svr4
2467 dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
2468 library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
2469 # unpreferred sharedlib libNAME.a needs extra handling
2470 postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
2471 postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
2472 # We do not specify a path in Import Files, so LIBPATH fires.
2473 shlibpath_overrides_runpath=yes
2474 ;;
2475 *,no) # both, prefer aix
2476 dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
2477 library_names_spec='$libname$release.a $libname.a'
2478 soname_spec='$libname$release$shared_ext$major'
2479 # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
2480 postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
2481 postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
2482 ;;
2483 esac
2484 shlibpath_var=LIBPATH
2485 fi
2486 ;;
2487
2488amigaos*)
2489 case $host_cpu in
2490 powerpc)
2491 # Since July 2007 AmigaOS4 officially supports .so libraries.
2492 # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
2493 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2494 ;;
2495 m68k)
2496 library_names_spec='$libname.ixlibrary $libname.a'
2497 # Create ${libname}_ixlibrary.a entries in /sys/libs.
2498 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
2499 ;;
2500 esac
2501 ;;
2502
2503beos*)
2504 library_names_spec='$libname$shared_ext'
2505 dynamic_linker="$host_os ld.so"
2506 shlibpath_var=LIBRARY_PATH
2507 ;;
2508
2509bsdi[[45]]*)
2510 version_type=linux # correct to gnu/linux during the next big refactor
2511 need_version=no
2512 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2513 soname_spec='$libname$release$shared_ext$major'
2514 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2515 shlibpath_var=LD_LIBRARY_PATH
2516 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2517 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2518 # the default ld.so.conf also contains /usr/contrib/lib and
2519 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2520 # libtool to hard-code these into programs
2521 ;;
2522
2523cygwin* | mingw* | pw32* | cegcc*)
2524 version_type=windows
2525 shrext_cmds=.dll
2526 need_version=no
2527 need_lib_prefix=no
2528
2529 case $GCC,$cc_basename in
2530 yes,*)
2531 # gcc
2532 library_names_spec='$libname.dll.a'
2533 # DLL is installed to $(libdir)/../bin by postinstall_cmds
2534 postinstall_cmds='base_file=`basename \$file`~
2535 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
2536 dldir=$destdir/`dirname \$dlpath`~
2537 test -d \$dldir || mkdir -p \$dldir~
2538 $install_prog $dir/$dlname \$dldir/$dlname~
2539 chmod a+x \$dldir/$dlname~
2540 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2541 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2542 fi'
2543 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2544 dlpath=$dir/\$dldll~
2545 $RM \$dlpath'
2546 shlibpath_overrides_runpath=yes
2547
2548 case $host_os in
2549 cygwin*)
2550 # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2551 soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2552m4_if([$1], [],[
2553 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
2554 ;;
2555 mingw* | cegcc*)
2556 # MinGW DLLs use traditional 'lib' prefix
2557 soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2558 ;;
2559 pw32*)
2560 # pw32 DLLs use 'pw' prefix rather than 'lib'
2561 library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2562 ;;
2563 esac
2564 dynamic_linker='Win32 ld.exe'
2565 ;;
2566
2567 *,cl*)
2568 # Native MSVC
2569 libname_spec='$name'
2570 soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2571 library_names_spec='$libname.dll.lib'
2572
2573 case $build_os in
2574 mingw*)
2575 sys_lib_search_path_spec=
2576 lt_save_ifs=$IFS
2577 IFS=';'
2578 for lt_path in $LIB
2579 do
2580 IFS=$lt_save_ifs
2581 # Let DOS variable expansion print the short 8.3 style file name.
2582 lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
2583 sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
2584 done
2585 IFS=$lt_save_ifs
2586 # Convert to MSYS style.
2587 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
2588 ;;
2589 cygwin*)
2590 # Convert to unix form, then to dos form, then back to unix form
2591 # but this time dos style (no spaces!) so that the unix form looks
2592 # like /cygdrive/c/PROGRA~1:/cygdr...
2593 sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
2594 sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
2595 sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2596 ;;
2597 *)
2598 sys_lib_search_path_spec=$LIB
2599 if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
2600 # It is most probably a Windows format PATH.
2601 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2602 else
2603 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2604 fi
2605 # FIXME: find the short name or the path components, as spaces are
2606 # common. (e.g. "Program Files" -> "PROGRA~1")
2607 ;;
2608 esac
2609
2610 # DLL is installed to $(libdir)/../bin by postinstall_cmds
2611 postinstall_cmds='base_file=`basename \$file`~
2612 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
2613 dldir=$destdir/`dirname \$dlpath`~
2614 test -d \$dldir || mkdir -p \$dldir~
2615 $install_prog $dir/$dlname \$dldir/$dlname'
2616 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2617 dlpath=$dir/\$dldll~
2618 $RM \$dlpath'
2619 shlibpath_overrides_runpath=yes
2620 dynamic_linker='Win32 link.exe'
2621 ;;
2622
2623 *)
2624 # Assume MSVC wrapper
2625 library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
2626 dynamic_linker='Win32 ld.exe'
2627 ;;
2628 esac
2629 # FIXME: first we should search . and the directory the executable is in
2630 shlibpath_var=PATH
2631 ;;
2632
2633darwin* | rhapsody*)
2634 dynamic_linker="$host_os dyld"
2635 version_type=darwin
2636 need_lib_prefix=no
2637 need_version=no
2638 library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
2639 soname_spec='$libname$release$major$shared_ext'
2640 shlibpath_overrides_runpath=yes
2641 shlibpath_var=DYLD_LIBRARY_PATH
2642 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
2643m4_if([$1], [],[
2644 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
2645 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2646 ;;
2647
2648dgux*)
2649 version_type=linux # correct to gnu/linux during the next big refactor
2650 need_lib_prefix=no
2651 need_version=no
2652 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2653 soname_spec='$libname$release$shared_ext$major'
2654 shlibpath_var=LD_LIBRARY_PATH
2655 ;;
2656
2657freebsd* | dragonfly*)
2658 # DragonFly does not have aout. When/if they implement a new
2659 # versioning mechanism, adjust this.
2660 if test -x /usr/bin/objformat; then
2661 objformat=`/usr/bin/objformat`
2662 else
2663 case $host_os in
2664 freebsd[[23]].*) objformat=aout ;;
2665 *) objformat=elf ;;
2666 esac
2667 fi
2668 version_type=freebsd-$objformat
2669 case $version_type in
2670 freebsd-elf*)
2671 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2672 soname_spec='$libname$release$shared_ext$major'
2673 need_version=no
2674 need_lib_prefix=no
2675 ;;
2676 freebsd-*)
2677 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
2678 need_version=yes
2679 ;;
2680 esac
2681 shlibpath_var=LD_LIBRARY_PATH
2682 case $host_os in
2683 freebsd2.*)
2684 shlibpath_overrides_runpath=yes
2685 ;;
2686 freebsd3.[[01]]* | freebsdelf3.[[01]]*)
2687 shlibpath_overrides_runpath=yes
2688 hardcode_into_libs=yes
2689 ;;
2690 freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2691 freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
2692 shlibpath_overrides_runpath=no
2693 hardcode_into_libs=yes
2694 ;;
2695 *) # from 4.6 on, and DragonFly
2696 shlibpath_overrides_runpath=yes
2697 hardcode_into_libs=yes
2698 ;;
2699 esac
2700 ;;
2701
2702haiku*)
2703 version_type=linux # correct to gnu/linux during the next big refactor
2704 need_lib_prefix=no
2705 need_version=no
2706 dynamic_linker="$host_os runtime_loader"
2707 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2708 soname_spec='$libname$release$shared_ext$major'
2709 shlibpath_var=LIBRARY_PATH
2710 shlibpath_overrides_runpath=no
2711 sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
2712 hardcode_into_libs=yes
2713 ;;
2714
2715hpux9* | hpux10* | hpux11*)
2716 # Give a soname corresponding to the major version so that dld.sl refuses to
2717 # link against other versions.
2718 version_type=sunos
2719 need_lib_prefix=no
2720 need_version=no
2721 case $host_cpu in
2722 ia64*)
2723 shrext_cmds='.so'
2724 hardcode_into_libs=yes
2725 dynamic_linker="$host_os dld.so"
2726 shlibpath_var=LD_LIBRARY_PATH
2727 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2728 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2729 soname_spec='$libname$release$shared_ext$major'
2730 if test 32 = "$HPUX_IA64_MODE"; then
2731 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2732 sys_lib_dlsearch_path_spec=/usr/lib/hpux32
2733 else
2734 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2735 sys_lib_dlsearch_path_spec=/usr/lib/hpux64
2736 fi
2737 ;;
2738 hppa*64*)
2739 shrext_cmds='.sl'
2740 hardcode_into_libs=yes
2741 dynamic_linker="$host_os dld.sl"
2742 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
2743 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2744 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2745 soname_spec='$libname$release$shared_ext$major'
2746 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2747 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2748 ;;
2749 *)
2750 shrext_cmds='.sl'
2751 dynamic_linker="$host_os dld.sl"
2752 shlibpath_var=SHLIB_PATH
2753 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2754 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2755 soname_spec='$libname$release$shared_ext$major'
2756 ;;
2757 esac
2758 # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
2759 postinstall_cmds='chmod 555 $lib'
2760 # or fails outright, so override atomically:
2761 install_override_mode=555
2762 ;;
2763
2764interix[[3-9]]*)
2765 version_type=linux # correct to gnu/linux during the next big refactor
2766 need_lib_prefix=no
2767 need_version=no
2768 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2769 soname_spec='$libname$release$shared_ext$major'
2770 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
2771 shlibpath_var=LD_LIBRARY_PATH
2772 shlibpath_overrides_runpath=no
2773 hardcode_into_libs=yes
2774 ;;
2775
2776irix5* | irix6* | nonstopux*)
2777 case $host_os in
2778 nonstopux*) version_type=nonstopux ;;
2779 *)
2780 if test yes = "$lt_cv_prog_gnu_ld"; then
2781 version_type=linux # correct to gnu/linux during the next big refactor
2782 else
2783 version_type=irix
2784 fi ;;
2785 esac
2786 need_lib_prefix=no
2787 need_version=no
2788 soname_spec='$libname$release$shared_ext$major'
2789 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
2790 case $host_os in
2791 irix5* | nonstopux*)
2792 libsuff= shlibsuff=
2793 ;;
2794 *)
2795 case $LD in # libtool.m4 will add one of these switches to LD
2796 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
2797 libsuff= shlibsuff= libmagic=32-bit;;
2798 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
2799 libsuff=32 shlibsuff=N32 libmagic=N32;;
2800 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
2801 libsuff=64 shlibsuff=64 libmagic=64-bit;;
2802 *) libsuff= shlibsuff= libmagic=never-match;;
2803 esac
2804 ;;
2805 esac
2806 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2807 shlibpath_overrides_runpath=no
2808 sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
2809 sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
2810 hardcode_into_libs=yes
2811 ;;
2812
2813# No shared lib support for Linux oldld, aout, or coff.
2814linux*oldld* | linux*aout* | linux*coff*)
2815 dynamic_linker=no
2816 ;;
2817
2818linux*android*)
2819 version_type=none # Android doesn't support versioned libraries.
2820 need_lib_prefix=no
2821 need_version=no
2822 library_names_spec='$libname$release$shared_ext'
2823 soname_spec='$libname$release$shared_ext'
2824 finish_cmds=
2825 shlibpath_var=LD_LIBRARY_PATH
2826 shlibpath_overrides_runpath=yes
2827
2828 # This implies no fast_install, which is unacceptable.
2829 # Some rework will be needed to allow for fast_install
2830 # before this can be enabled.
2831 hardcode_into_libs=yes
2832
2833 dynamic_linker='Android linker'
2834 # Don't embed -rpath directories since the linker doesn't support them.
2835 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
2836 ;;
2837
2838# This must be glibc/ELF.
2839linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
2840 version_type=linux # correct to gnu/linux during the next big refactor
2841 need_lib_prefix=no
2842 need_version=no
2843 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2844 soname_spec='$libname$release$shared_ext$major'
2845 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2846 shlibpath_var=LD_LIBRARY_PATH
2847 shlibpath_overrides_runpath=no
2848
2849 # Some binutils ld are patched to set DT_RUNPATH
2850 AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
2851 [lt_cv_shlibpath_overrides_runpath=no
2852 save_LDFLAGS=$LDFLAGS
2853 save_libdir=$libdir
2854 eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
2855 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
2856 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
2857 [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
2858 [lt_cv_shlibpath_overrides_runpath=yes])])
2859 LDFLAGS=$save_LDFLAGS
2860 libdir=$save_libdir
2861 ])
2862 shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
2863
2864 # This implies no fast_install, which is unacceptable.
2865 # Some rework will be needed to allow for fast_install
2866 # before this can be enabled.
2867 hardcode_into_libs=yes
2868
2869 # Ideally, we could use ldconfig to report *all* directores which are
2870 # searched for libraries, however this is still not possible. Aside from not
2871 # being certain /sbin/ldconfig is available, command
2872 # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
2873 # even though it is searched at run-time. Try to do the best guess by
2874 # appending ld.so.conf contents (and includes) to the search path.
2875 if test -f /etc/ld.so.conf; then
2876 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
2877 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
2878 fi
2879
2880 # We used to test for /lib/ld.so.1 and disable shared libraries on
2881 # powerpc, because MkLinux only supported shared libraries with the
2882 # GNU dynamic linker. Since this was broken with cross compilers,
2883 # most powerpc-linux boxes support dynamic linking these days and
2884 # people can always --disable-shared, the test was removed, and we
2885 # assume the GNU/Linux dynamic linker is in use.
2886 dynamic_linker='GNU/Linux ld.so'
2887 ;;
2888
2889netbsdelf*-gnu)
2890 version_type=linux
2891 need_lib_prefix=no
2892 need_version=no
2893 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2894 soname_spec='${libname}${release}${shared_ext}$major'
2895 shlibpath_var=LD_LIBRARY_PATH
2896 shlibpath_overrides_runpath=no
2897 hardcode_into_libs=yes
2898 dynamic_linker='NetBSD ld.elf_so'
2899 ;;
2900
2901netbsd*)
2902 version_type=sunos
2903 need_lib_prefix=no
2904 need_version=no
2905 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
2906 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
2907 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2908 dynamic_linker='NetBSD (a.out) ld.so'
2909 else
2910 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2911 soname_spec='$libname$release$shared_ext$major'
2912 dynamic_linker='NetBSD ld.elf_so'
2913 fi
2914 shlibpath_var=LD_LIBRARY_PATH
2915 shlibpath_overrides_runpath=yes
2916 hardcode_into_libs=yes
2917 ;;
2918
2919newsos6)
2920 version_type=linux # correct to gnu/linux during the next big refactor
2921 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2922 shlibpath_var=LD_LIBRARY_PATH
2923 shlibpath_overrides_runpath=yes
2924 ;;
2925
2926*nto* | *qnx*)
2927 version_type=qnx
2928 need_lib_prefix=no
2929 need_version=no
2930 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2931 soname_spec='$libname$release$shared_ext$major'
2932 shlibpath_var=LD_LIBRARY_PATH
2933 shlibpath_overrides_runpath=no
2934 hardcode_into_libs=yes
2935 dynamic_linker='ldqnx.so'
2936 ;;
2937
2938openbsd* | bitrig*)
2939 version_type=sunos
2940 sys_lib_dlsearch_path_spec=/usr/lib
2941 need_lib_prefix=no
2942 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
2943 need_version=no
2944 else
2945 need_version=yes
2946 fi
2947 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
2948 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2949 shlibpath_var=LD_LIBRARY_PATH
2950 shlibpath_overrides_runpath=yes
2951 ;;
2952
2953os2*)
2954 libname_spec='$name'
2955 version_type=windows
2956 shrext_cmds=.dll
2957 need_version=no
2958 need_lib_prefix=no
2959 # OS/2 can only load a DLL with a base name of 8 characters or less.
2960 soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
2961 v=$($ECHO $release$versuffix | tr -d .-);
2962 n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
2963 $ECHO $n$v`$shared_ext'
2964 library_names_spec='${libname}_dll.$libext'
2965 dynamic_linker='OS/2 ld.exe'
2966 shlibpath_var=BEGINLIBPATH
2967 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2968 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2969 postinstall_cmds='base_file=`basename \$file`~
2970 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
2971 dldir=$destdir/`dirname \$dlpath`~
2972 test -d \$dldir || mkdir -p \$dldir~
2973 $install_prog $dir/$dlname \$dldir/$dlname~
2974 chmod a+x \$dldir/$dlname~
2975 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2976 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2977 fi'
2978 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
2979 dlpath=$dir/\$dldll~
2980 $RM \$dlpath'
2981 ;;
2982
2983osf3* | osf4* | osf5*)
2984 version_type=osf
2985 need_lib_prefix=no
2986 need_version=no
2987 soname_spec='$libname$release$shared_ext$major'
2988 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2989 shlibpath_var=LD_LIBRARY_PATH
2990 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
2991 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2992 ;;
2993
2994rdos*)
2995 dynamic_linker=no
2996 ;;
2997
2998solaris*)
2999 version_type=linux # correct to gnu/linux during the next big refactor
3000 need_lib_prefix=no
3001 need_version=no
3002 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3003 soname_spec='$libname$release$shared_ext$major'
3004 shlibpath_var=LD_LIBRARY_PATH
3005 shlibpath_overrides_runpath=yes
3006 hardcode_into_libs=yes
3007 # ldd complains unless libraries are executable
3008 postinstall_cmds='chmod +x $lib'
3009 ;;
3010
3011sunos4*)
3012 version_type=sunos
3013 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
3014 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
3015 shlibpath_var=LD_LIBRARY_PATH
3016 shlibpath_overrides_runpath=yes
3017 if test yes = "$with_gnu_ld"; then
3018 need_lib_prefix=no
3019 fi
3020 need_version=yes
3021 ;;
3022
3023sysv4 | sysv4.3*)
3024 version_type=linux # correct to gnu/linux during the next big refactor
3025 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3026 soname_spec='$libname$release$shared_ext$major'
3027 shlibpath_var=LD_LIBRARY_PATH
3028 case $host_vendor in
3029 sni)
3030 shlibpath_overrides_runpath=no
3031 need_lib_prefix=no
3032 runpath_var=LD_RUN_PATH
3033 ;;
3034 siemens)
3035 need_lib_prefix=no
3036 ;;
3037 motorola)
3038 need_lib_prefix=no
3039 need_version=no
3040 shlibpath_overrides_runpath=no
3041 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
3042 ;;
3043 esac
3044 ;;
3045
3046sysv4*MP*)
3047 if test -d /usr/nec; then
3048 version_type=linux # correct to gnu/linux during the next big refactor
3049 library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
3050 soname_spec='$libname$shared_ext.$major'
3051 shlibpath_var=LD_LIBRARY_PATH
3052 fi
3053 ;;
3054
3055sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3056 version_type=sco
3057 need_lib_prefix=no
3058 need_version=no
3059 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
3060 soname_spec='$libname$release$shared_ext$major'
3061 shlibpath_var=LD_LIBRARY_PATH
3062 shlibpath_overrides_runpath=yes
3063 hardcode_into_libs=yes
3064 if test yes = "$with_gnu_ld"; then
3065 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
3066 else
3067 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
3068 case $host_os in
3069 sco3.2v5*)
3070 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
3071 ;;
3072 esac
3073 fi
3074 sys_lib_dlsearch_path_spec='/usr/lib'
3075 ;;
3076
3077tpf*)
3078 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
3079 version_type=linux # correct to gnu/linux during the next big refactor
3080 need_lib_prefix=no
3081 need_version=no
3082 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3083 shlibpath_var=LD_LIBRARY_PATH
3084 shlibpath_overrides_runpath=no
3085 hardcode_into_libs=yes
3086 ;;
3087
3088uts4*)
3089 version_type=linux # correct to gnu/linux during the next big refactor
3090 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3091 soname_spec='$libname$release$shared_ext$major'
3092 shlibpath_var=LD_LIBRARY_PATH
3093 ;;
3094
3095*)
3096 dynamic_linker=no
3097 ;;
3098esac
3099AC_MSG_RESULT([$dynamic_linker])
3100test no = "$dynamic_linker" && can_build_shared=no
3101
3102variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
3103if test yes = "$GCC"; then
3104 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
3105fi
3106
3107if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
3108 sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
3109fi
3110
3111if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
3112 sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
3113fi
3114
3115# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
3116configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
3117
3118# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
3119func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
3120
3121# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
3122configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
3123
3124_LT_DECL([], [variables_saved_for_relink], [1],
3125 [Variables whose values should be saved in libtool wrapper scripts and
3126 restored at link time])
3127_LT_DECL([], [need_lib_prefix], [0],
3128 [Do we need the "lib" prefix for modules?])
3129_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
3130_LT_DECL([], [version_type], [0], [Library versioning type])
3131_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
3132_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
3133_LT_DECL([], [shlibpath_overrides_runpath], [0],
3134 [Is shlibpath searched before the hard-coded library search path?])
3135_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
3136_LT_DECL([], [library_names_spec], [1],
3137 [[List of archive names. First name is the real one, the rest are links.
3138 The last name is the one that the linker finds with -lNAME]])
3139_LT_DECL([], [soname_spec], [1],
3140 [[The coded name of the library, if different from the real name]])
3141_LT_DECL([], [install_override_mode], [1],
3142 [Permission mode override for installation of shared libraries])
3143_LT_DECL([], [postinstall_cmds], [2],
3144 [Command to use after installation of a shared archive])
3145_LT_DECL([], [postuninstall_cmds], [2],
3146 [Command to use after uninstallation of a shared archive])
3147_LT_DECL([], [finish_cmds], [2],
3148 [Commands used to finish a libtool library installation in a directory])
3149_LT_DECL([], [finish_eval], [1],
3150 [[As "finish_cmds", except a single script fragment to be evaled but
3151 not shown]])
3152_LT_DECL([], [hardcode_into_libs], [0],
3153 [Whether we should hardcode library paths into libraries])
3154_LT_DECL([], [sys_lib_search_path_spec], [2],
3155 [Compile-time system search path for libraries])
3156_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
3157 [Detected run-time system search path for libraries])
3158_LT_DECL([], [configure_time_lt_sys_library_path], [2],
3159 [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
3160])# _LT_SYS_DYNAMIC_LINKER
3161
3162
3163# _LT_PATH_TOOL_PREFIX(TOOL)
3164# --------------------------
3165# find a file program that can recognize shared library
3166AC_DEFUN([_LT_PATH_TOOL_PREFIX],
3167[m4_require([_LT_DECL_EGREP])dnl
3168AC_MSG_CHECKING([for $1])
3169AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
3170[case $MAGIC_CMD in
3171[[\\/*] | ?:[\\/]*])
3172 lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
3173 ;;
3174*)
3175 lt_save_MAGIC_CMD=$MAGIC_CMD
3176 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
3177dnl $ac_dummy forces splitting on constant user-supplied paths.
3178dnl POSIX.2 word splitting is done only on the output of word expansions,
3179dnl not every word. This closes a longstanding sh security hole.
3180 ac_dummy="m4_if([$2], , $PATH, [$2])"
3181 for ac_dir in $ac_dummy; do
3182 IFS=$lt_save_ifs
3183 test -z "$ac_dir" && ac_dir=.
3184 if test -f "$ac_dir/$1"; then
3185 lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
3186 if test -n "$file_magic_test_file"; then
3187 case $deplibs_check_method in
3188 "file_magic "*)
3189 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
3190 MAGIC_CMD=$lt_cv_path_MAGIC_CMD
3191 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
3192 $EGREP "$file_magic_regex" > /dev/null; then
3193 :
3194 else
3195 cat <<_LT_EOF 1>&2
3196
3197*** Warning: the command libtool uses to detect shared libraries,
3198*** $file_magic_cmd, produces output that libtool cannot recognize.
3199*** The result is that libtool may fail to recognize shared libraries
3200*** as such. This will affect the creation of libtool libraries that
3201*** depend on shared libraries, but programs linked with such libtool
3202*** libraries will work regardless of this problem. Nevertheless, you
3203*** may want to report the problem to your system manager and/or to
3204*** bug-libtool@gnu.org
3205
3206_LT_EOF
3207 fi ;;
3208 esac
3209 fi
3210 break
3211 fi
3212 done
3213 IFS=$lt_save_ifs
3214 MAGIC_CMD=$lt_save_MAGIC_CMD
3215 ;;
3216esac])
3217MAGIC_CMD=$lt_cv_path_MAGIC_CMD
3218if test -n "$MAGIC_CMD"; then
3219 AC_MSG_RESULT($MAGIC_CMD)
3220else
3221 AC_MSG_RESULT(no)
3222fi
3223_LT_DECL([], [MAGIC_CMD], [0],
3224 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
3225])# _LT_PATH_TOOL_PREFIX
3226
3227# Old name:
3228AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
3229dnl aclocal-1.4 backwards compatibility:
3230dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
3231
3232
3233# _LT_PATH_MAGIC
3234# --------------
3235# find a file program that can recognize a shared library
3236m4_defun([_LT_PATH_MAGIC],
3237[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
3238if test -z "$lt_cv_path_MAGIC_CMD"; then
3239 if test -n "$ac_tool_prefix"; then
3240 _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
3241 else
3242 MAGIC_CMD=:
3243 fi
3244fi
3245])# _LT_PATH_MAGIC
3246
3247
3248# LT_PATH_LD
3249# ----------
3250# find the pathname to the GNU or non-GNU linker
3251AC_DEFUN([LT_PATH_LD],
3252[AC_REQUIRE([AC_PROG_CC])dnl
3253AC_REQUIRE([AC_CANONICAL_HOST])dnl
3254AC_REQUIRE([AC_CANONICAL_BUILD])dnl
3255m4_require([_LT_DECL_SED])dnl
3256m4_require([_LT_DECL_EGREP])dnl
3257m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
3258
3259AC_ARG_WITH([gnu-ld],
3260 [AS_HELP_STRING([--with-gnu-ld],
3261 [assume the C compiler uses GNU ld @<:@default=no@:>@])],
3262 [test no = "$withval" || with_gnu_ld=yes],
3263 [with_gnu_ld=no])dnl
3264
3265ac_prog=ld
3266if test yes = "$GCC"; then
3267 # Check if gcc -print-prog-name=ld gives a path.
3268 AC_MSG_CHECKING([for ld used by $CC])
3269 case $host in
3270 *-*-mingw*)
3271 # gcc leaves a trailing carriage return, which upsets mingw
3272 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
3273 *)
3274 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
3275 esac
3276 case $ac_prog in
3277 # Accept absolute paths.
3278 [[\\/]]* | ?:[[\\/]]*)
3279 re_direlt='/[[^/]][[^/]]*/\.\./'
3280 # Canonicalize the pathname of ld
3281 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
3282 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
3283 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
3284 done
3285 test -z "$LD" && LD=$ac_prog
3286 ;;
3287 "")
3288 # If it fails, then pretend we aren't using GCC.
3289 ac_prog=ld
3290 ;;
3291 *)
3292 # If it is relative, then search for the first ld in PATH.
3293 with_gnu_ld=unknown
3294 ;;
3295 esac
3296elif test yes = "$with_gnu_ld"; then
3297 AC_MSG_CHECKING([for GNU ld])
3298else
3299 AC_MSG_CHECKING([for non-GNU ld])
3300fi
3301AC_CACHE_VAL(lt_cv_path_LD,
3302[if test -z "$LD"; then
3303 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
3304 for ac_dir in $PATH; do
3305 IFS=$lt_save_ifs
3306 test -z "$ac_dir" && ac_dir=.
3307 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
3308 lt_cv_path_LD=$ac_dir/$ac_prog
3309 # Check to see if the program is GNU ld. I'd rather use --version,
3310 # but apparently some variants of GNU ld only accept -v.
3311 # Break only if it was the GNU/non-GNU ld that we prefer.
3312 case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
3313 *GNU* | *'with BFD'*)
3314 test no != "$with_gnu_ld" && break
3315 ;;
3316 *)
3317 test yes != "$with_gnu_ld" && break
3318 ;;
3319 esac
3320 fi
3321 done
3322 IFS=$lt_save_ifs
3323else
3324 lt_cv_path_LD=$LD # Let the user override the test with a path.
3325fi])
3326LD=$lt_cv_path_LD
3327if test -n "$LD"; then
3328 AC_MSG_RESULT($LD)
3329else
3330 AC_MSG_RESULT(no)
3331fi
3332test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
3333_LT_PATH_LD_GNU
3334AC_SUBST([LD])
3335
3336_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
3337])# LT_PATH_LD
3338
3339# Old names:
3340AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
3341AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
3342dnl aclocal-1.4 backwards compatibility:
3343dnl AC_DEFUN([AM_PROG_LD], [])
3344dnl AC_DEFUN([AC_PROG_LD], [])
3345
3346
3347# _LT_PATH_LD_GNU
3348#- --------------
3349m4_defun([_LT_PATH_LD_GNU],
3350[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
3351[# I'd rather use --version here, but apparently some GNU lds only accept -v.
3352case `$LD -v 2>&1 </dev/null` in
3353*GNU* | *'with BFD'*)
3354 lt_cv_prog_gnu_ld=yes
3355 ;;
3356*)
3357 lt_cv_prog_gnu_ld=no
3358 ;;
3359esac])
3360with_gnu_ld=$lt_cv_prog_gnu_ld
3361])# _LT_PATH_LD_GNU
3362
3363
3364# _LT_CMD_RELOAD
3365# --------------
3366# find reload flag for linker
3367# -- PORTME Some linkers may need a different reload flag.
3368m4_defun([_LT_CMD_RELOAD],
3369[AC_CACHE_CHECK([for $LD option to reload object files],
3370 lt_cv_ld_reload_flag,
3371 [lt_cv_ld_reload_flag='-r'])
3372reload_flag=$lt_cv_ld_reload_flag
3373case $reload_flag in
3374"" | " "*) ;;
3375*) reload_flag=" $reload_flag" ;;
3376esac
3377reload_cmds='$LD$reload_flag -o $output$reload_objs'
3378case $host_os in
3379 cygwin* | mingw* | pw32* | cegcc*)
3380 if test yes != "$GCC"; then
3381 reload_cmds=false
3382 fi
3383 ;;
3384 darwin*)
3385 if test yes = "$GCC"; then
3386 reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
3387 else
3388 reload_cmds='$LD$reload_flag -o $output$reload_objs'
3389 fi
3390 ;;
3391esac
3392_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
3393_LT_TAGDECL([], [reload_cmds], [2])dnl
3394])# _LT_CMD_RELOAD
3395
3396
3397# _LT_PATH_DD
3398# -----------
3399# find a working dd
3400m4_defun([_LT_PATH_DD],
3401[AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD],
3402[printf 0123456789abcdef0123456789abcdef >conftest.i
3403cat conftest.i conftest.i >conftest2.i
3404: ${lt_DD:=$DD}
3405AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
3406[if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
3407 cmp -s conftest.i conftest.out \
3408 && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
3409fi])
3410rm -f conftest.i conftest2.i conftest.out])
3411])# _LT_PATH_DD
3412
3413
3414# _LT_CMD_TRUNCATE
3415# ----------------
3416# find command to truncate a binary pipe
3417m4_defun([_LT_CMD_TRUNCATE],
3418[m4_require([_LT_PATH_DD])
3419AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
3420[printf 0123456789abcdef0123456789abcdef >conftest.i
3421cat conftest.i conftest.i >conftest2.i
3422lt_cv_truncate_bin=
3423if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
3424 cmp -s conftest.i conftest.out \
3425 && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
3426fi
3427rm -f conftest.i conftest2.i conftest.out
3428test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
3429_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
3430 [Command to truncate a binary pipe])
3431])# _LT_CMD_TRUNCATE
3432
3433
3434# _LT_CHECK_MAGIC_METHOD
3435# ----------------------
3436# how to check for library dependencies
3437# -- PORTME fill in with the dynamic library characteristics
3438m4_defun([_LT_CHECK_MAGIC_METHOD],
3439[m4_require([_LT_DECL_EGREP])
3440m4_require([_LT_DECL_OBJDUMP])
3441AC_CACHE_CHECK([how to recognize dependent libraries],
3442lt_cv_deplibs_check_method,
3443[lt_cv_file_magic_cmd='$MAGIC_CMD'
3444lt_cv_file_magic_test_file=
3445lt_cv_deplibs_check_method='unknown'
3446# Need to set the preceding variable on all platforms that support
3447# interlibrary dependencies.
3448# 'none' -- dependencies not supported.
3449# 'unknown' -- same as none, but documents that we really don't know.
3450# 'pass_all' -- all dependencies passed with no checks.
3451# 'test_compile' -- check by making test program.
3452# 'file_magic [[regex]]' -- check by looking for files in library path
3453# that responds to the $file_magic_cmd with a given extended regex.
3454# If you have 'file' or equivalent on your system and you're not sure
3455# whether 'pass_all' will *always* work, you probably want this one.
3456
3457case $host_os in
3458aix[[4-9]]*)
3459 lt_cv_deplibs_check_method=pass_all
3460 ;;
3461
3462beos*)
3463 lt_cv_deplibs_check_method=pass_all
3464 ;;
3465
3466bsdi[[45]]*)
3467 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3468 lt_cv_file_magic_cmd='/usr/bin/file -L'
3469 lt_cv_file_magic_test_file=/shlib/libc.so
3470 ;;
3471
3472cygwin*)
3473 # func_win32_libid is a shell function defined in ltmain.sh
3474 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3475 lt_cv_file_magic_cmd='func_win32_libid'
3476 ;;
3477
3478mingw* | pw32*)
3479 # Base MSYS/MinGW do not provide the 'file' command needed by
3480 # func_win32_libid shell function, so use a weaker test based on 'objdump',
3481 # unless we find 'file', for example because we are cross-compiling.
3482 if ( file / ) >/dev/null 2>&1; then
3483 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3484 lt_cv_file_magic_cmd='func_win32_libid'
3485 else
3486 # Keep this pattern in sync with the one in func_win32_libid.
3487 lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
3488 lt_cv_file_magic_cmd='$OBJDUMP -f'
3489 fi
3490 ;;
3491
3492cegcc*)
3493 # use the weaker test based on 'objdump'. See mingw*.
3494 lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
3495 lt_cv_file_magic_cmd='$OBJDUMP -f'
3496 ;;
3497
3498darwin* | rhapsody*)
3499 lt_cv_deplibs_check_method=pass_all
3500 ;;
3501
3502freebsd* | dragonfly*)
3503 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3504 case $host_cpu in
3505 i*86 )
3506 # Not sure whether the presence of OpenBSD here was a mistake.
3507 # Let's accept both of them until this is cleared up.
3508 lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
3509 lt_cv_file_magic_cmd=/usr/bin/file
3510 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3511 ;;
3512 esac
3513 else
3514 lt_cv_deplibs_check_method=pass_all
3515 fi
3516 ;;
3517
3518haiku*)
3519 lt_cv_deplibs_check_method=pass_all
3520 ;;
3521
3522hpux10.20* | hpux11*)
3523 lt_cv_file_magic_cmd=/usr/bin/file
3524 case $host_cpu in
3525 ia64*)
3526 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
3527 lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3528 ;;
3529 hppa*64*)
3530 [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
3531 lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3532 ;;
3533 *)
3534 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
3535 lt_cv_file_magic_test_file=/usr/lib/libc.sl
3536 ;;
3537 esac
3538 ;;
3539
3540interix[[3-9]]*)
3541 # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
3542 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
3543 ;;
3544
3545irix5* | irix6* | nonstopux*)
3546 case $LD in
3547 *-32|*"-32 ") libmagic=32-bit;;
3548 *-n32|*"-n32 ") libmagic=N32;;
3549 *-64|*"-64 ") libmagic=64-bit;;
3550 *) libmagic=never-match;;
3551 esac
3552 lt_cv_deplibs_check_method=pass_all
3553 ;;
3554
3555# This must be glibc/ELF.
3556linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
3557 lt_cv_deplibs_check_method=pass_all
3558 ;;
3559
3560netbsd* | netbsdelf*-gnu)
3561 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3562 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3563 else
3564 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
3565 fi
3566 ;;
3567
3568newos6*)
3569 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3570 lt_cv_file_magic_cmd=/usr/bin/file
3571 lt_cv_file_magic_test_file=/usr/lib/libnls.so
3572 ;;
3573
3574*nto* | *qnx*)
3575 lt_cv_deplibs_check_method=pass_all
3576 ;;
3577
3578openbsd* | bitrig*)
3579 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
3580 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
3581 else
3582 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3583 fi
3584 ;;
3585
3586osf3* | osf4* | osf5*)
3587 lt_cv_deplibs_check_method=pass_all
3588 ;;
3589
3590rdos*)
3591 lt_cv_deplibs_check_method=pass_all
3592 ;;
3593
3594solaris*)
3595 lt_cv_deplibs_check_method=pass_all
3596 ;;
3597
3598sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3599 lt_cv_deplibs_check_method=pass_all
3600 ;;
3601
3602sysv4 | sysv4.3*)
3603 case $host_vendor in
3604 motorola)
3605 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
3606 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3607 ;;
3608 ncr)
3609 lt_cv_deplibs_check_method=pass_all
3610 ;;
3611 sequent)
3612 lt_cv_file_magic_cmd='/bin/file'
3613 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3614 ;;
3615 sni)
3616 lt_cv_file_magic_cmd='/bin/file'
3617 lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3618 lt_cv_file_magic_test_file=/lib/libc.so
3619 ;;
3620 siemens)
3621 lt_cv_deplibs_check_method=pass_all
3622 ;;
3623 pc)
3624 lt_cv_deplibs_check_method=pass_all
3625 ;;
3626 esac
3627 ;;
3628
3629tpf*)
3630 lt_cv_deplibs_check_method=pass_all
3631 ;;
3632os2*)
3633 lt_cv_deplibs_check_method=pass_all
3634 ;;
3635esac
3636])
3637
3638file_magic_glob=
3639want_nocaseglob=no
3640if test "$build" = "$host"; then
3641 case $host_os in
3642 mingw* | pw32*)
3643 if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
3644 want_nocaseglob=yes
3645 else
3646 file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
3647 fi
3648 ;;
3649 esac
3650fi
3651
3652file_magic_cmd=$lt_cv_file_magic_cmd
3653deplibs_check_method=$lt_cv_deplibs_check_method
3654test -z "$deplibs_check_method" && deplibs_check_method=unknown
3655
3656_LT_DECL([], [deplibs_check_method], [1],
3657 [Method to check whether dependent libraries are shared objects])
3658_LT_DECL([], [file_magic_cmd], [1],
3659 [Command to use when deplibs_check_method = "file_magic"])
3660_LT_DECL([], [file_magic_glob], [1],
3661 [How to find potential files when deplibs_check_method = "file_magic"])
3662_LT_DECL([], [want_nocaseglob], [1],
3663 [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
3664])# _LT_CHECK_MAGIC_METHOD
3665
3666
3667# LT_PATH_NM
3668# ----------
3669# find the pathname to a BSD- or MS-compatible name lister
3670AC_DEFUN([LT_PATH_NM],
3671[AC_REQUIRE([AC_PROG_CC])dnl
3672AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
3673[if test -n "$NM"; then
3674 # Let the user override the test.
3675 lt_cv_path_NM=$NM
3676else
3677 lt_nm_to_check=${ac_tool_prefix}nm
3678 if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
3679 lt_nm_to_check="$lt_nm_to_check nm"
3680 fi
3681 for lt_tmp_nm in $lt_nm_to_check; do
3682 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
3683 for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3684 IFS=$lt_save_ifs
3685 test -z "$ac_dir" && ac_dir=.
3686 tmp_nm=$ac_dir/$lt_tmp_nm
3687 if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
3688 # Check to see if the nm accepts a BSD-compat flag.
3689 # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
3690 # nm: unknown option "B" ignored
3691 # Tru64's nm complains that /dev/null is an invalid object file
3692 # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
3693 case $build_os in
3694 mingw*) lt_bad_file=conftest.nm/nofile ;;
3695 *) lt_bad_file=/dev/null ;;
3696 esac
3697 case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
3698 *$lt_bad_file* | *'Invalid file or object type'*)
3699 lt_cv_path_NM="$tmp_nm -B"
3700 break 2
3701 ;;
3702 *)
3703 case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
3704 */dev/null*)
3705 lt_cv_path_NM="$tmp_nm -p"
3706 break 2
3707 ;;
3708 *)
3709 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3710 continue # so that we can try to find one that supports BSD flags
3711 ;;
3712 esac
3713 ;;
3714 esac
3715 fi
3716 done
3717 IFS=$lt_save_ifs
3718 done
3719 : ${lt_cv_path_NM=no}
3720fi])
3721if test no != "$lt_cv_path_NM"; then
3722 NM=$lt_cv_path_NM
3723else
3724 # Didn't find any BSD compatible name lister, look for dumpbin.
3725 if test -n "$DUMPBIN"; then :
3726 # Let the user override the test.
3727 else
3728 AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
3729 case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
3730 *COFF*)
3731 DUMPBIN="$DUMPBIN -symbols -headers"
3732 ;;
3733 *)
3734 DUMPBIN=:
3735 ;;
3736 esac
3737 fi
3738 AC_SUBST([DUMPBIN])
3739 if test : != "$DUMPBIN"; then
3740 NM=$DUMPBIN
3741 fi
3742fi
3743test -z "$NM" && NM=nm
3744AC_SUBST([NM])
3745_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
3746
3747AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
3748 [lt_cv_nm_interface="BSD nm"
3749 echo "int some_variable = 0;" > conftest.$ac_ext
3750 (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
3751 (eval "$ac_compile" 2>conftest.err)
3752 cat conftest.err >&AS_MESSAGE_LOG_FD
3753 (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
3754 (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
3755 cat conftest.err >&AS_MESSAGE_LOG_FD
3756 (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
3757 cat conftest.out >&AS_MESSAGE_LOG_FD
3758 if $GREP 'External.*some_variable' conftest.out > /dev/null; then
3759 lt_cv_nm_interface="MS dumpbin"
3760 fi
3761 rm -f conftest*])
3762])# LT_PATH_NM
3763
3764# Old names:
3765AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
3766AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
3767dnl aclocal-1.4 backwards compatibility:
3768dnl AC_DEFUN([AM_PROG_NM], [])
3769dnl AC_DEFUN([AC_PROG_NM], [])
3770
3771# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3772# --------------------------------
3773# how to determine the name of the shared library
3774# associated with a specific link library.
3775# -- PORTME fill in with the dynamic library characteristics
3776m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
3777[m4_require([_LT_DECL_EGREP])
3778m4_require([_LT_DECL_OBJDUMP])
3779m4_require([_LT_DECL_DLLTOOL])
3780AC_CACHE_CHECK([how to associate runtime and link libraries],
3781lt_cv_sharedlib_from_linklib_cmd,
3782[lt_cv_sharedlib_from_linklib_cmd='unknown'
3783
3784case $host_os in
3785cygwin* | mingw* | pw32* | cegcc*)
3786 # two different shell functions defined in ltmain.sh;
3787 # decide which one to use based on capabilities of $DLLTOOL
3788 case `$DLLTOOL --help 2>&1` in
3789 *--identify-strict*)
3790 lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
3791 ;;
3792 *)
3793 lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
3794 ;;
3795 esac
3796 ;;
3797*)
3798 # fallback: assume linklib IS sharedlib
3799 lt_cv_sharedlib_from_linklib_cmd=$ECHO
3800 ;;
3801esac
3802])
3803sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
3804test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
3805
3806_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
3807 [Command to associate shared and link libraries])
3808])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3809
3810
3811# _LT_PATH_MANIFEST_TOOL
3812# ----------------------
3813# locate the manifest tool
3814m4_defun([_LT_PATH_MANIFEST_TOOL],
3815[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
3816test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
3817AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
3818 [lt_cv_path_mainfest_tool=no
3819 echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
3820 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
3821 cat conftest.err >&AS_MESSAGE_LOG_FD
3822 if $GREP 'Manifest Tool' conftest.out > /dev/null; then
3823 lt_cv_path_mainfest_tool=yes
3824 fi
3825 rm -f conftest*])
3826if test yes != "$lt_cv_path_mainfest_tool"; then
3827 MANIFEST_TOOL=:
3828fi
3829_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
3830])# _LT_PATH_MANIFEST_TOOL
3831
3832
3833# _LT_DLL_DEF_P([FILE])
3834# ---------------------
3835# True iff FILE is a Windows DLL '.def' file.
3836# Keep in sync with func_dll_def_p in the libtool script
3837AC_DEFUN([_LT_DLL_DEF_P],
3838[dnl
3839 test DEF = "`$SED -n dnl
3840 -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace
3841 -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments
3842 -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl
3843 -e q dnl Only consider the first "real" line
3844 $1`" dnl
3845])# _LT_DLL_DEF_P
3846
3847
3848# LT_LIB_M
3849# --------
3850# check for math library
3851AC_DEFUN([LT_LIB_M],
3852[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3853LIBM=
3854case $host in
3855*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
3856 # These system don't have libm, or don't need it
3857 ;;
3858*-ncr-sysv4.3*)
3859 AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
3860 AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
3861 ;;
3862*)
3863 AC_CHECK_LIB(m, cos, LIBM=-lm)
3864 ;;
3865esac
3866AC_SUBST([LIBM])
3867])# LT_LIB_M
3868
3869# Old name:
3870AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
3871dnl aclocal-1.4 backwards compatibility:
3872dnl AC_DEFUN([AC_CHECK_LIBM], [])
3873
3874
3875# _LT_COMPILER_NO_RTTI([TAGNAME])
3876# -------------------------------
3877m4_defun([_LT_COMPILER_NO_RTTI],
3878[m4_require([_LT_TAG_COMPILER])dnl
3879
3880_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
3881
3882if test yes = "$GCC"; then
3883 case $cc_basename in
3884 nvcc*)
3885 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
3886 *)
3887 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
3888 esac
3889
3890 _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
3891 lt_cv_prog_compiler_rtti_exceptions,
3892 [-fno-rtti -fno-exceptions], [],
3893 [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
3894fi
3895_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
3896 [Compiler flag to turn off builtin functions])
3897])# _LT_COMPILER_NO_RTTI
3898
3899
3900# _LT_CMD_GLOBAL_SYMBOLS
3901# ----------------------
3902m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
3903[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3904AC_REQUIRE([AC_PROG_CC])dnl
3905AC_REQUIRE([AC_PROG_AWK])dnl
3906AC_REQUIRE([LT_PATH_NM])dnl
3907AC_REQUIRE([LT_PATH_LD])dnl
3908m4_require([_LT_DECL_SED])dnl
3909m4_require([_LT_DECL_EGREP])dnl
3910m4_require([_LT_TAG_COMPILER])dnl
3911
3912# Check for command to grab the raw symbol name followed by C symbol from nm.
3913AC_MSG_CHECKING([command to parse $NM output from $compiler object])
3914AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
3915[
3916# These are sane defaults that work on at least a few old systems.
3917# [They come from Ultrix. What could be older than Ultrix?!! ;)]
3918
3919# Character class describing NM global symbol codes.
3920symcode='[[BCDEGRST]]'
3921
3922# Regexp to match symbols that can be accessed directly from C.
3923sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
3924
3925# Define system-specific variables.
3926case $host_os in
3927aix*)
3928 symcode='[[BCDT]]'
3929 ;;
3930cygwin* | mingw* | pw32* | cegcc*)
3931 symcode='[[ABCDGISTW]]'
3932 ;;
3933hpux*)
3934 if test ia64 = "$host_cpu"; then
3935 symcode='[[ABCDEGRST]]'
3936 fi
3937 ;;
3938irix* | nonstopux*)
3939 symcode='[[BCDEGRST]]'
3940 ;;
3941osf*)
3942 symcode='[[BCDEGQRST]]'
3943 ;;
3944solaris*)
3945 symcode='[[BDRT]]'
3946 ;;
3947sco3.2v5*)
3948 symcode='[[DT]]'
3949 ;;
3950sysv4.2uw2*)
3951 symcode='[[DT]]'
3952 ;;
3953sysv5* | sco5v6* | unixware* | OpenUNIX*)
3954 symcode='[[ABDT]]'
3955 ;;
3956sysv4)
3957 symcode='[[DFNSTU]]'
3958 ;;
3959esac
3960
3961# If we're using GNU nm, then use its standard symbol codes.
3962case `$NM -V 2>&1` in
3963*GNU* | *'with BFD'*)
3964 symcode='[[ABCDGIRSTW]]' ;;
3965esac
3966
3967if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3968 # Gets list of data symbols to import.
3969 lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
3970 # Adjust the below global symbol transforms to fixup imported variables.
3971 lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
3972 lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
3973 lt_c_name_lib_hook="\
3974 -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\
3975 -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"
3976else
3977 # Disable hooks by default.
3978 lt_cv_sys_global_symbol_to_import=
3979 lt_cdecl_hook=
3980 lt_c_name_hook=
3981 lt_c_name_lib_hook=
3982fi
3983
3984# Transform an extracted symbol line into a proper C declaration.
3985# Some systems (esp. on ia64) link data and code symbols differently,
3986# so use this general approach.
3987lt_cv_sys_global_symbol_to_cdecl="sed -n"\
3988$lt_cdecl_hook\
3989" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
3990" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
3991
3992# Transform an extracted symbol line into symbol name and symbol address
3993lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
3994$lt_c_name_hook\
3995" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
3996" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
3997
3998# Transform an extracted symbol line into symbol name with lib prefix and
3999# symbol address.
4000lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
4001$lt_c_name_lib_hook\
4002" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
4003" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
4004" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"
4005
4006# Handle CRLF in mingw tool chain
4007opt_cr=
4008case $build_os in
4009mingw*)
4010 opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
4011 ;;
4012esac
4013
4014# Try without a prefix underscore, then with it.
4015for ac_symprfx in "" "_"; do
4016
4017 # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
4018 symxfrm="\\1 $ac_symprfx\\2 \\2"
4019
4020 # Write the raw and C identifiers.
4021 if test "$lt_cv_nm_interface" = "MS dumpbin"; then
4022 # Fake it for dumpbin and say T for any non-static function,
4023 # D for any global variable and I for any imported variable.
4024 # Also find C++ and __fastcall symbols from MSVC++,
4025 # which start with @ or ?.
4026 lt_cv_sys_global_symbol_pipe="$AWK ['"\
4027" {last_section=section; section=\$ 3};"\
4028" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
4029" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
4030" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
4031" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
4032" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
4033" \$ 0!~/External *\|/{next};"\
4034" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
4035" {if(hide[section]) next};"\
4036" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
4037" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
4038" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
4039" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
4040" ' prfx=^$ac_symprfx]"
4041 else
4042 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
4043 fi
4044 lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
4045
4046 # Check to see that the pipe works correctly.
4047 pipe_works=no
4048
4049 rm -f conftest*
4050 cat > conftest.$ac_ext <<_LT_EOF
4051#ifdef __cplusplus
4052extern "C" {
4053#endif
4054char nm_test_var;
4055void nm_test_func(void);
4056void nm_test_func(void){}
4057#ifdef __cplusplus
4058}
4059#endif
4060int main(){nm_test_var='a';nm_test_func();return(0);}
4061_LT_EOF
4062
4063 if AC_TRY_EVAL(ac_compile); then
4064 # Now try to grab the symbols.
4065 nlist=conftest.nm
4066 if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
4067 # Try sorting and uniquifying the output.
4068 if sort "$nlist" | uniq > "$nlist"T; then
4069 mv -f "$nlist"T "$nlist"
4070 else
4071 rm -f "$nlist"T
4072 fi
4073
4074 # Make sure that we snagged all the symbols we need.
4075 if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
4076 if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
4077 cat <<_LT_EOF > conftest.$ac_ext
4078/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
4079#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
4080/* DATA imports from DLLs on WIN32 can't be const, because runtime
4081 relocations are performed -- see ld's documentation on pseudo-relocs. */
4082# define LT@&t@_DLSYM_CONST
4083#elif defined __osf__
4084/* This system does not cope well with relocations in const data. */
4085# define LT@&t@_DLSYM_CONST
4086#else
4087# define LT@&t@_DLSYM_CONST const
4088#endif
4089
4090#ifdef __cplusplus
4091extern "C" {
4092#endif
4093
4094_LT_EOF
4095 # Now generate the symbol file.
4096 eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
4097
4098 cat <<_LT_EOF >> conftest.$ac_ext
4099
4100/* The mapping between symbol names and symbols. */
4101LT@&t@_DLSYM_CONST struct {
4102 const char *name;
4103 void *address;
4104}
4105lt__PROGRAM__LTX_preloaded_symbols[[]] =
4106{
4107 { "@PROGRAM@", (void *) 0 },
4108_LT_EOF
4109 $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
4110 cat <<\_LT_EOF >> conftest.$ac_ext
4111 {0, (void *) 0}
4112};
4113
4114/* This works around a problem in FreeBSD linker */
4115#ifdef FREEBSD_WORKAROUND
4116static const void *lt_preloaded_setup() {
4117 return lt__PROGRAM__LTX_preloaded_symbols;
4118}
4119#endif
4120
4121#ifdef __cplusplus
4122}
4123#endif
4124_LT_EOF
4125 # Now try linking the two files.
4126 mv conftest.$ac_objext conftstm.$ac_objext
4127 lt_globsym_save_LIBS=$LIBS
4128 lt_globsym_save_CFLAGS=$CFLAGS
4129 LIBS=conftstm.$ac_objext
4130 CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
4131 if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
4132 pipe_works=yes
4133 fi
4134 LIBS=$lt_globsym_save_LIBS
4135 CFLAGS=$lt_globsym_save_CFLAGS
4136 else
4137 echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
4138 fi
4139 else
4140 echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
4141 fi
4142 else
4143 echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
4144 fi
4145 else
4146 echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
4147 cat conftest.$ac_ext >&5
4148 fi
4149 rm -rf conftest* conftst*
4150
4151 # Do not use the global_symbol_pipe unless it works.
4152 if test yes = "$pipe_works"; then
4153 break
4154 else
4155 lt_cv_sys_global_symbol_pipe=
4156 fi
4157done
4158])
4159if test -z "$lt_cv_sys_global_symbol_pipe"; then
4160 lt_cv_sys_global_symbol_to_cdecl=
4161fi
4162if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
4163 AC_MSG_RESULT(failed)
4164else
4165 AC_MSG_RESULT(ok)
4166fi
4167
4168# Response file support.
4169if test "$lt_cv_nm_interface" = "MS dumpbin"; then
4170 nm_file_list_spec='@'
4171elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
4172 nm_file_list_spec='@'
4173fi
4174
4175_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
4176 [Take the output of nm and produce a listing of raw symbols and C names])
4177_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
4178 [Transform the output of nm in a proper C declaration])
4179_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
4180 [Transform the output of nm into a list of symbols to manually relocate])
4181_LT_DECL([global_symbol_to_c_name_address],
4182 [lt_cv_sys_global_symbol_to_c_name_address], [1],
4183 [Transform the output of nm in a C name address pair])
4184_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
4185 [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
4186 [Transform the output of nm in a C name address pair when lib prefix is needed])
4187_LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
4188 [The name lister interface])
4189_LT_DECL([], [nm_file_list_spec], [1],
4190 [Specify filename containing input files for $NM])
4191]) # _LT_CMD_GLOBAL_SYMBOLS
4192
4193
4194# _LT_COMPILER_PIC([TAGNAME])
4195# ---------------------------
4196m4_defun([_LT_COMPILER_PIC],
4197[m4_require([_LT_TAG_COMPILER])dnl
4198_LT_TAGVAR(lt_prog_compiler_wl, $1)=
4199_LT_TAGVAR(lt_prog_compiler_pic, $1)=
4200_LT_TAGVAR(lt_prog_compiler_static, $1)=
4201
4202m4_if([$1], [CXX], [
4203 # C++ specific cases for pic, static, wl, etc.
4204 if test yes = "$GXX"; then
4205 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4206 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4207
4208 case $host_os in
4209 aix*)
4210 # All AIX code is PIC.
4211 if test ia64 = "$host_cpu"; then
4212 # AIX 5 now supports IA64 processor
4213 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4214 fi
4215 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4216 ;;
4217
4218 amigaos*)
4219 case $host_cpu in
4220 powerpc)
4221 # see comment about AmigaOS4 .so support
4222 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4223 ;;
4224 m68k)
4225 # FIXME: we need at least 68020 code to build shared libraries, but
4226 # adding the '-m68020' flag to GCC prevents building anything better,
4227 # like '-m68040'.
4228 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4229 ;;
4230 esac
4231 ;;
4232
4233 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4234 # PIC is the default for these OSes.
4235 ;;
4236 mingw* | cygwin* | os2* | pw32* | cegcc*)
4237 # This hack is so that the source file can tell whether it is being
4238 # built for inclusion in a dll (and should export symbols for example).
4239 # Although the cygwin gcc ignores -fPIC, still need this for old-style
4240 # (--disable-auto-import) libraries
4241 m4_if([$1], [GCJ], [],
4242 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4243 case $host_os in
4244 os2*)
4245 _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4246 ;;
4247 esac
4248 ;;
4249 darwin* | rhapsody*)
4250 # PIC is the default on this platform
4251 # Common symbols not allowed in MH_DYLIB files
4252 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4253 ;;
4254 *djgpp*)
4255 # DJGPP does not support shared libraries at all
4256 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4257 ;;
4258 haiku*)
4259 # PIC is the default for Haiku.
4260 # The "-static" flag exists, but is broken.
4261 _LT_TAGVAR(lt_prog_compiler_static, $1)=
4262 ;;
4263 interix[[3-9]]*)
4264 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
4265 # Instead, we relocate shared libraries at runtime.
4266 ;;
4267 sysv4*MP*)
4268 if test -d /usr/nec; then
4269 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4270 fi
4271 ;;
4272 hpux*)
4273 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
4274 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
4275 # sets the default TLS model and affects inlining.
4276 case $host_cpu in
4277 hppa*64*)
4278 ;;
4279 *)
4280 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4281 ;;
4282 esac
4283 ;;
4284 *qnx* | *nto*)
4285 # QNX uses GNU C++, but need to define -shared option too, otherwise
4286 # it will coredump.
4287 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4288 ;;
4289 *)
4290 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4291 ;;
4292 esac
4293 else
4294 case $host_os in
4295 aix[[4-9]]*)
4296 # All AIX code is PIC.
4297 if test ia64 = "$host_cpu"; then
4298 # AIX 5 now supports IA64 processor
4299 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4300 else
4301 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4302 fi
4303 ;;
4304 chorus*)
4305 case $cc_basename in
4306 cxch68*)
4307 # Green Hills C++ Compiler
4308 # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
4309 ;;
4310 esac
4311 ;;
4312 mingw* | cygwin* | os2* | pw32* | cegcc*)
4313 # This hack is so that the source file can tell whether it is being
4314 # built for inclusion in a dll (and should export symbols for example).
4315 m4_if([$1], [GCJ], [],
4316 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4317 ;;
4318 dgux*)
4319 case $cc_basename in
4320 ec++*)
4321 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4322 ;;
4323 ghcx*)
4324 # Green Hills C++ Compiler
4325 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4326 ;;
4327 *)
4328 ;;
4329 esac
4330 ;;
4331 freebsd* | dragonfly*)
4332 # FreeBSD uses GNU C++
4333 ;;
4334 hpux9* | hpux10* | hpux11*)
4335 case $cc_basename in
4336 CC*)
4337 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4338 _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
4339 if test ia64 != "$host_cpu"; then
4340 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4341 fi
4342 ;;
4343 aCC*)
4344 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4345 _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
4346 case $host_cpu in
4347 hppa*64*|ia64*)
4348 # +Z the default
4349 ;;
4350 *)
4351 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4352 ;;
4353 esac
4354 ;;
4355 *)
4356 ;;
4357 esac
4358 ;;
4359 interix*)
4360 # This is c89, which is MS Visual C++ (no shared libs)
4361 # Anyone wants to do a port?
4362 ;;
4363 irix5* | irix6* | nonstopux*)
4364 case $cc_basename in
4365 CC*)
4366 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4367 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4368 # CC pic flag -KPIC is the default.
4369 ;;
4370 *)
4371 ;;
4372 esac
4373 ;;
4374 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
4375 case $cc_basename in
4376 KCC*)
4377 # KAI C++ Compiler
4378 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4379 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4380 ;;
4381 ecpc* )
4382 # old Intel C++ for x86_64, which still supported -KPIC.
4383 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4384 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4385 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4386 ;;
4387 icpc* )
4388 # Intel C++, used to be incompatible with GCC.
4389 # ICC 10 doesn't accept -KPIC any more.
4390 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4391 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4392 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4393 ;;
4394 pgCC* | pgcpp*)
4395 # Portland Group C++ compiler
4396 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4397 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4398 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4399 ;;
4400 cxx*)
4401 # Compaq C++
4402 # Make sure the PIC flag is empty. It appears that all Alpha
4403 # Linux and Compaq Tru64 Unix objects are PIC.
4404 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4405 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4406 ;;
4407 xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
4408 # IBM XL 8.0, 9.0 on PPC and BlueGene
4409 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4410 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4411 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4412 ;;
4413 *)
4414 case `$CC -V 2>&1 | sed 5q` in
4415 *Sun\ C*)
4416 # Sun C++ 5.9
4417 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4418 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4419 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4420 ;;
4421 esac
4422 ;;
4423 esac
4424 ;;
4425 lynxos*)
4426 ;;
4427 m88k*)
4428 ;;
4429 mvs*)
4430 case $cc_basename in
4431 cxx*)
4432 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
4433 ;;
4434 *)
4435 ;;
4436 esac
4437 ;;
4438 netbsd* | netbsdelf*-gnu)
4439 ;;
4440 *qnx* | *nto*)
4441 # QNX uses GNU C++, but need to define -shared option too, otherwise
4442 # it will coredump.
4443 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4444 ;;
4445 osf3* | osf4* | osf5*)
4446 case $cc_basename in
4447 KCC*)
4448 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4449 ;;
4450 RCC*)
4451 # Rational C++ 2.4.1
4452 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4453 ;;
4454 cxx*)
4455 # Digital/Compaq C++
4456 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4457 # Make sure the PIC flag is empty. It appears that all Alpha
4458 # Linux and Compaq Tru64 Unix objects are PIC.
4459 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4460 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4461 ;;
4462 *)
4463 ;;
4464 esac
4465 ;;
4466 psos*)
4467 ;;
4468 solaris*)
4469 case $cc_basename in
4470 CC* | sunCC*)
4471 # Sun C++ 4.2, 5.x and Centerline C++
4472 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4473 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4474 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4475 ;;
4476 gcx*)
4477 # Green Hills C++ Compiler
4478 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4479 ;;
4480 *)
4481 ;;
4482 esac
4483 ;;
4484 sunos4*)
4485 case $cc_basename in
4486 CC*)
4487 # Sun C++ 4.x
4488 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4489 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4490 ;;
4491 lcc*)
4492 # Lucid
4493 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4494 ;;
4495 *)
4496 ;;
4497 esac
4498 ;;
4499 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4500 case $cc_basename in
4501 CC*)
4502 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4503 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4504 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4505 ;;
4506 esac
4507 ;;
4508 tandem*)
4509 case $cc_basename in
4510 NCC*)
4511 # NonStop-UX NCC 3.20
4512 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4513 ;;
4514 *)
4515 ;;
4516 esac
4517 ;;
4518 vxworks*)
4519 ;;
4520 *)
4521 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4522 ;;
4523 esac
4524 fi
4525],
4526[
4527 if test yes = "$GCC"; then
4528 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4529 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4530
4531 case $host_os in
4532 aix*)
4533 # All AIX code is PIC.
4534 if test ia64 = "$host_cpu"; then
4535 # AIX 5 now supports IA64 processor
4536 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4537 fi
4538 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4539 ;;
4540
4541 amigaos*)
4542 case $host_cpu in
4543 powerpc)
4544 # see comment about AmigaOS4 .so support
4545 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4546 ;;
4547 m68k)
4548 # FIXME: we need at least 68020 code to build shared libraries, but
4549 # adding the '-m68020' flag to GCC prevents building anything better,
4550 # like '-m68040'.
4551 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4552 ;;
4553 esac
4554 ;;
4555
4556 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4557 # PIC is the default for these OSes.
4558 ;;
4559
4560 mingw* | cygwin* | pw32* | os2* | cegcc*)
4561 # This hack is so that the source file can tell whether it is being
4562 # built for inclusion in a dll (and should export symbols for example).
4563 # Although the cygwin gcc ignores -fPIC, still need this for old-style
4564 # (--disable-auto-import) libraries
4565 m4_if([$1], [GCJ], [],
4566 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4567 case $host_os in
4568 os2*)
4569 _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4570 ;;
4571 esac
4572 ;;
4573
4574 darwin* | rhapsody*)
4575 # PIC is the default on this platform
4576 # Common symbols not allowed in MH_DYLIB files
4577 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4578 ;;
4579
4580 haiku*)
4581 # PIC is the default for Haiku.
4582 # The "-static" flag exists, but is broken.
4583 _LT_TAGVAR(lt_prog_compiler_static, $1)=
4584 ;;
4585
4586 hpux*)
4587 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
4588 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
4589 # sets the default TLS model and affects inlining.
4590 case $host_cpu in
4591 hppa*64*)
4592 # +Z the default
4593 ;;
4594 *)
4595 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4596 ;;
4597 esac
4598 ;;
4599
4600 interix[[3-9]]*)
4601 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
4602 # Instead, we relocate shared libraries at runtime.
4603 ;;
4604
4605 msdosdjgpp*)
4606 # Just because we use GCC doesn't mean we suddenly get shared libraries
4607 # on systems that don't support them.
4608 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4609 enable_shared=no
4610 ;;
4611
4612 *nto* | *qnx*)
4613 # QNX uses GNU C++, but need to define -shared option too, otherwise
4614 # it will coredump.
4615 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4616 ;;
4617
4618 sysv4*MP*)
4619 if test -d /usr/nec; then
4620 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4621 fi
4622 ;;
4623
4624 *)
4625 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4626 ;;
4627 esac
4628
4629 case $cc_basename in
4630 nvcc*) # Cuda Compiler Driver 2.2
4631 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
4632 if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4633 _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
4634 fi
4635 ;;
4636 esac
4637 else
4638 # PORTME Check for flag to pass linker flags through the system compiler.
4639 case $host_os in
4640 aix*)
4641 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4642 if test ia64 = "$host_cpu"; then
4643 # AIX 5 now supports IA64 processor
4644 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4645 else
4646 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4647 fi
4648 ;;
4649
4650 darwin* | rhapsody*)
4651 # PIC is the default on this platform
4652 # Common symbols not allowed in MH_DYLIB files
4653 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4654 case $cc_basename in
4655 nagfor*)
4656 # NAG Fortran compiler
4657 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
4658 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4659 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4660 ;;
4661 esac
4662 ;;
4663
4664 mingw* | cygwin* | pw32* | os2* | cegcc*)
4665 # This hack is so that the source file can tell whether it is being
4666 # built for inclusion in a dll (and should export symbols for example).
4667 m4_if([$1], [GCJ], [],
4668 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4669 case $host_os in
4670 os2*)
4671 _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4672 ;;
4673 esac
4674 ;;
4675
4676 hpux9* | hpux10* | hpux11*)
4677 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4678 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
4679 # not for PA HP-UX.
4680 case $host_cpu in
4681 hppa*64*|ia64*)
4682 # +Z the default
4683 ;;
4684 *)
4685 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4686 ;;
4687 esac
4688 # Is there a better lt_prog_compiler_static that works with the bundled CC?
4689 _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
4690 ;;
4691
4692 irix5* | irix6* | nonstopux*)
4693 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4694 # PIC (with -KPIC) is the default.
4695 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4696 ;;
4697
4698 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
4699 case $cc_basename in
4700 # old Intel for x86_64, which still supported -KPIC.
4701 ecc*)
4702 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4703 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4704 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4705 ;;
4706 # icc used to be incompatible with GCC.
4707 # ICC 10 doesn't accept -KPIC any more.
4708 icc* | ifort*)
4709 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4710 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4711 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4712 ;;
4713 # Lahey Fortran 8.1.
4714 lf95*)
4715 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4716 _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
4717 _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
4718 ;;
4719 nagfor*)
4720 # NAG Fortran compiler
4721 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
4722 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4723 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4724 ;;
4725 tcc*)
4726 # Fabrice Bellard et al's Tiny C Compiler
4727 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4728 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4729 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4730 ;;
4731 pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
4732 # Portland Group compilers (*not* the Pentium gcc compiler,
4733 # which looks to be a dead project)
4734 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4735 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4736 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4737 ;;
4738 ccc*)
4739 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4740 # All Alpha code is PIC.
4741 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4742 ;;
4743 xl* | bgxl* | bgf* | mpixl*)
4744 # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
4745 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4746 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4747 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4748 ;;
4749 *)
4750 case `$CC -V 2>&1 | sed 5q` in
4751 *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
4752 # Sun Fortran 8.3 passes all unrecognized flags to the linker
4753 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4754 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4755 _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
4756 ;;
4757 *Sun\ F* | *Sun*Fortran*)
4758 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4759 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4760 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4761 ;;
4762 *Sun\ C*)
4763 # Sun C 5.9
4764 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4765 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4766 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4767 ;;
4768 *Intel*\ [[CF]]*Compiler*)
4769 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4770 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4771 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4772 ;;
4773 *Portland\ Group*)
4774 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4775 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4776 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4777 ;;
4778 esac
4779 ;;
4780 esac
4781 ;;
4782
4783 newsos6)
4784 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4785 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4786 ;;
4787
4788 *nto* | *qnx*)
4789 # QNX uses GNU C++, but need to define -shared option too, otherwise
4790 # it will coredump.
4791 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4792 ;;
4793
4794 osf3* | osf4* | osf5*)
4795 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4796 # All OSF/1 code is PIC.
4797 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4798 ;;
4799
4800 rdos*)
4801 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4802 ;;
4803
4804 solaris*)
4805 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4806 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4807 case $cc_basename in
4808 f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
4809 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
4810 *)
4811 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
4812 esac
4813 ;;
4814
4815 sunos4*)
4816 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4817 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4818 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4819 ;;
4820
4821 sysv4 | sysv4.2uw2* | sysv4.3*)
4822 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4823 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4824 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4825 ;;
4826
4827 sysv4*MP*)
4828 if test -d /usr/nec; then
4829 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4830 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4831 fi
4832 ;;
4833
4834 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4835 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4836 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4837 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4838 ;;
4839
4840 unicos*)
4841 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4842 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4843 ;;
4844
4845 uts4*)
4846 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4847 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4848 ;;
4849
4850 *)
4851 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4852 ;;
4853 esac
4854 fi
4855])
4856case $host_os in
4857 # For platforms that do not support PIC, -DPIC is meaningless:
4858 *djgpp*)
4859 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4860 ;;
4861 *)
4862 _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
4863 ;;
4864esac
4865
4866AC_CACHE_CHECK([for $compiler option to produce PIC],
4867 [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
4868 [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
4869_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
4870
4871#
4872# Check to make sure the PIC flag actually works.
4873#
4874if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4875 _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
4876 [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
4877 [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
4878 [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
4879 "" | " "*) ;;
4880 *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
4881 esac],
4882 [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
4883 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
4884fi
4885_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
4886 [Additional compiler flags for building library objects])
4887
4888_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
4889 [How to pass a linker flag through the compiler])
4890#
4891# Check to make sure the static flag actually works.
4892#
4893wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
4894_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
4895 _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
4896 $lt_tmp_static_flag,
4897 [],
4898 [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
4899_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
4900 [Compiler flag to prevent dynamic linking])
4901])# _LT_COMPILER_PIC
4902
4903
4904# _LT_LINKER_SHLIBS([TAGNAME])
4905# ----------------------------
4906# See if the linker supports building shared libraries.
4907m4_defun([_LT_LINKER_SHLIBS],
4908[AC_REQUIRE([LT_PATH_LD])dnl
4909AC_REQUIRE([LT_PATH_NM])dnl
4910m4_require([_LT_PATH_MANIFEST_TOOL])dnl
4911m4_require([_LT_FILEUTILS_DEFAULTS])dnl
4912m4_require([_LT_DECL_EGREP])dnl
4913m4_require([_LT_DECL_SED])dnl
4914m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
4915m4_require([_LT_TAG_COMPILER])dnl
4916AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
4917m4_if([$1], [CXX], [
4918 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4919 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4920 case $host_os in
4921 aix[[4-9]]*)
4922 # If we're using GNU nm, then we don't want the "-C" option.
4923 # -C means demangle to GNU nm, but means don't demangle to AIX nm.
4924 # Without the "-l" option, or with the "-B" option, AIX nm treats
4925 # weak defined symbols like other global defined symbols, whereas
4926 # GNU nm marks them as "W".
4927 # While the 'weak' keyword is ignored in the Export File, we need
4928 # it in the Import File for the 'aix-soname' feature, so we have
4929 # to replace the "-B" option with "-P" for AIX nm.
4930 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4931 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
4932 else
4933 _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
4934 fi
4935 ;;
4936 pw32*)
4937 _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
4938 ;;
4939 cygwin* | mingw* | cegcc*)
4940 case $cc_basename in
4941 cl*)
4942 _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
4943 ;;
4944 *)
4945 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
4946 _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
4947 ;;
4948 esac
4949 ;;
4950 linux* | k*bsd*-gnu | gnu*)
4951 _LT_TAGVAR(link_all_deplibs, $1)=no
4952 ;;
4953 *)
4954 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4955 ;;
4956 esac
4957], [
4958 runpath_var=
4959 _LT_TAGVAR(allow_undefined_flag, $1)=
4960 _LT_TAGVAR(always_export_symbols, $1)=no
4961 _LT_TAGVAR(archive_cmds, $1)=
4962 _LT_TAGVAR(archive_expsym_cmds, $1)=
4963 _LT_TAGVAR(compiler_needs_object, $1)=no
4964 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
4965 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4966 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4967 _LT_TAGVAR(hardcode_automatic, $1)=no
4968 _LT_TAGVAR(hardcode_direct, $1)=no
4969 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
4970 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4971 _LT_TAGVAR(hardcode_libdir_separator, $1)=
4972 _LT_TAGVAR(hardcode_minus_L, $1)=no
4973 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4974 _LT_TAGVAR(inherit_rpath, $1)=no
4975 _LT_TAGVAR(link_all_deplibs, $1)=unknown
4976 _LT_TAGVAR(module_cmds, $1)=
4977 _LT_TAGVAR(module_expsym_cmds, $1)=
4978 _LT_TAGVAR(old_archive_from_new_cmds, $1)=
4979 _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
4980 _LT_TAGVAR(thread_safe_flag_spec, $1)=
4981 _LT_TAGVAR(whole_archive_flag_spec, $1)=
4982 # include_expsyms should be a list of space-separated symbols to be *always*
4983 # included in the symbol list
4984 _LT_TAGVAR(include_expsyms, $1)=
4985 # exclude_expsyms can be an extended regexp of symbols to exclude
4986 # it will be wrapped by ' (' and ')$', so one must not match beginning or
4987 # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
4988 # as well as any symbol that contains 'd'.
4989 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4990 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
4991 # platforms (ab)use it in PIC code, but their linkers get confused if
4992 # the symbol is explicitly referenced. Since portable code cannot
4993 # rely on this symbol name, it's probably fine to never include it in
4994 # preloaded symbol tables.
4995 # Exclude shared library initialization/finalization symbols.
4996dnl Note also adjust exclude_expsyms for C++ above.
4997 extract_expsyms_cmds=
4998
4999 case $host_os in
5000 cygwin* | mingw* | pw32* | cegcc*)
5001 # FIXME: the MSVC++ port hasn't been tested in a loooong time
5002 # When not using gcc, we currently assume that we are using
5003 # Microsoft Visual C++.
5004 if test yes != "$GCC"; then
5005 with_gnu_ld=no
5006 fi
5007 ;;
5008 interix*)
5009 # we just hope/assume this is gcc and not c89 (= MSVC++)
5010 with_gnu_ld=yes
5011 ;;
5012 openbsd* | bitrig*)
5013 with_gnu_ld=no
5014 ;;
5015 linux* | k*bsd*-gnu | gnu*)
5016 _LT_TAGVAR(link_all_deplibs, $1)=no
5017 ;;
5018 esac
5019
5020 _LT_TAGVAR(ld_shlibs, $1)=yes
5021
5022 # On some targets, GNU ld is compatible enough with the native linker
5023 # that we're better off using the native interface for both.
5024 lt_use_gnu_ld_interface=no
5025 if test yes = "$with_gnu_ld"; then
5026 case $host_os in
5027 aix*)
5028 # The AIX port of GNU ld has always aspired to compatibility
5029 # with the native linker. However, as the warning in the GNU ld
5030 # block says, versions before 2.19.5* couldn't really create working
5031 # shared libraries, regardless of the interface used.
5032 case `$LD -v 2>&1` in
5033 *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
5034 *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
5035 *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
5036 *)
5037 lt_use_gnu_ld_interface=yes
5038 ;;
5039 esac
5040 ;;
5041 *)
5042 lt_use_gnu_ld_interface=yes
5043 ;;
5044 esac
5045 fi
5046
5047 if test yes = "$lt_use_gnu_ld_interface"; then
5048 # If archive_cmds runs LD, not CC, wlarc should be empty
5049 wlarc='$wl'
5050
5051 # Set some defaults for GNU ld with shared library support. These
5052 # are reset later if shared libraries are not supported. Putting them
5053 # here allows them to be overridden if necessary.
5054 runpath_var=LD_RUN_PATH
5055 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5056 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
5057 # ancient GNU ld didn't support --whole-archive et. al.
5058 if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
5059 _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
5060 else
5061 _LT_TAGVAR(whole_archive_flag_spec, $1)=
5062 fi
5063 supports_anon_versioning=no
5064 case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
5065 *GNU\ gold*) supports_anon_versioning=yes ;;
5066 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
5067 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
5068 *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
5069 *\ 2.11.*) ;; # other 2.11 versions
5070 *) supports_anon_versioning=yes ;;
5071 esac
5072
5073 # See if GNU ld supports shared libraries.
5074 case $host_os in
5075 aix[[3-9]]*)
5076 # On AIX/PPC, the GNU linker is very broken
5077 if test ia64 != "$host_cpu"; then
5078 _LT_TAGVAR(ld_shlibs, $1)=no
5079 cat <<_LT_EOF 1>&2
5080
5081*** Warning: the GNU linker, at least up to release 2.19, is reported
5082*** to be unable to reliably create shared libraries on AIX.
5083*** Therefore, libtool is disabling shared libraries support. If you
5084*** really care for shared libraries, you may want to install binutils
5085*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
5086*** You will then need to restart the configuration process.
5087
5088_LT_EOF
5089 fi
5090 ;;
5091
5092 amigaos*)
5093 case $host_cpu in
5094 powerpc)
5095 # see comment about AmigaOS4 .so support
5096 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5097 _LT_TAGVAR(archive_expsym_cmds, $1)=''
5098 ;;
5099 m68k)
5100 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
5101 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5102 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5103 ;;
5104 esac
5105 ;;
5106
5107 beos*)
5108 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5109 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5110 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
5111 # support --undefined. This deserves some investigation. FIXME
5112 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5113 else
5114 _LT_TAGVAR(ld_shlibs, $1)=no
5115 fi
5116 ;;
5117
5118 cygwin* | mingw* | pw32* | cegcc*)
5119 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
5120 # as there is no search path for DLLs.
5121 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5122 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
5123 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5124 _LT_TAGVAR(always_export_symbols, $1)=no
5125 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5126 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
5127 _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
5128
5129 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
5130 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
5131 # If the export-symbols file already is a .def file, use it as
5132 # is; otherwise, prepend EXPORTS...
5133 _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
5134 cp $export_symbols $output_objdir/$soname.def;
5135 else
5136 echo EXPORTS > $output_objdir/$soname.def;
5137 cat $export_symbols >> $output_objdir/$soname.def;
5138 fi~
5139 $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
5140 else
5141 _LT_TAGVAR(ld_shlibs, $1)=no
5142 fi
5143 ;;
5144
5145 haiku*)
5146 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5147 _LT_TAGVAR(link_all_deplibs, $1)=yes
5148 ;;
5149
5150 os2*)
5151 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5152 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5153 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5154 shrext_cmds=.dll
5155 _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5156 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5157 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5158 $ECHO EXPORTS >> $output_objdir/$libname.def~
5159 emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
5160 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5161 emximp -o $lib $output_objdir/$libname.def'
5162 _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5163 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5164 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5165 $ECHO EXPORTS >> $output_objdir/$libname.def~
5166 prefix_cmds="$SED"~
5167 if test EXPORTS = "`$SED 1q $export_symbols`"; then
5168 prefix_cmds="$prefix_cmds -e 1d";
5169 fi~
5170 prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
5171 cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
5172 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5173 emximp -o $lib $output_objdir/$libname.def'
5174 _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
5175 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5176 ;;
5177
5178 interix[[3-9]]*)
5179 _LT_TAGVAR(hardcode_direct, $1)=no
5180 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5181 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
5182 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5183 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
5184 # Instead, shared libraries are loaded at an image base (0x10000000 by
5185 # default) and relocated if they conflict, which is a slow very memory
5186 # consuming and fragmenting process. To avoid this, we pick a random,
5187 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
5188 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
5189 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
5190 _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
5191 ;;
5192
5193 gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
5194 tmp_diet=no
5195 if test linux-dietlibc = "$host_os"; then
5196 case $cc_basename in
5197 diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
5198 esac
5199 fi
5200 if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
5201 && test no = "$tmp_diet"
5202 then
5203 tmp_addflag=' $pic_flag'
5204 tmp_sharedflag='-shared'
5205 case $cc_basename,$host_cpu in
5206 pgcc*) # Portland Group C compiler
5207 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
5208 tmp_addflag=' $pic_flag'
5209 ;;
5210 pgf77* | pgf90* | pgf95* | pgfortran*)
5211 # Portland Group f77 and f90 compilers
5212 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
5213 tmp_addflag=' $pic_flag -Mnomain' ;;
5214 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
5215 tmp_addflag=' -i_dynamic' ;;
5216 efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
5217 tmp_addflag=' -i_dynamic -nofor_main' ;;
5218 ifc* | ifort*) # Intel Fortran compiler
5219 tmp_addflag=' -nofor_main' ;;
5220 lf95*) # Lahey Fortran 8.1
5221 _LT_TAGVAR(whole_archive_flag_spec, $1)=
5222 tmp_sharedflag='--shared' ;;
5223 nagfor*) # NAGFOR 5.3
5224 tmp_sharedflag='-Wl,-shared' ;;
5225 xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
5226 tmp_sharedflag='-qmkshrobj'
5227 tmp_addflag= ;;
5228 nvcc*) # Cuda Compiler Driver 2.2
5229 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
5230 _LT_TAGVAR(compiler_needs_object, $1)=yes
5231 ;;
5232 esac
5233 case `$CC -V 2>&1 | sed 5q` in
5234 *Sun\ C*) # Sun C 5.9
5235 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
5236 _LT_TAGVAR(compiler_needs_object, $1)=yes
5237 tmp_sharedflag='-G' ;;
5238 *Sun\ F*) # Sun Fortran 8.3
5239 tmp_sharedflag='-G' ;;
5240 esac
5241 _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5242
5243 if test yes = "$supports_anon_versioning"; then
5244 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5245 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5246 echo "local: *; };" >> $output_objdir/$libname.ver~
5247 $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
5248 fi
5249
5250 case $cc_basename in
5251 tcc*)
5252 _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
5253 ;;
5254 xlf* | bgf* | bgxlf* | mpixlf*)
5255 # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
5256 _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
5257 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5258 _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
5259 if test yes = "$supports_anon_versioning"; then
5260 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5261 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5262 echo "local: *; };" >> $output_objdir/$libname.ver~
5263 $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
5264 fi
5265 ;;
5266 esac
5267 else
5268 _LT_TAGVAR(ld_shlibs, $1)=no
5269 fi
5270 ;;
5271
5272 netbsd* | netbsdelf*-gnu)
5273 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5274 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
5275 wlarc=
5276 else
5277 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5278 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
5279 fi
5280 ;;
5281
5282 solaris*)
5283 if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
5284 _LT_TAGVAR(ld_shlibs, $1)=no
5285 cat <<_LT_EOF 1>&2
5286
5287*** Warning: The releases 2.8.* of the GNU linker cannot reliably
5288*** create shared libraries on Solaris systems. Therefore, libtool
5289*** is disabling shared libraries support. We urge you to upgrade GNU
5290*** binutils to release 2.9.1 or newer. Another option is to modify
5291*** your PATH or compiler configuration so that the native linker is
5292*** used, and then restart.
5293
5294_LT_EOF
5295 elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5296 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5297 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
5298 else
5299 _LT_TAGVAR(ld_shlibs, $1)=no
5300 fi
5301 ;;
5302
5303 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
5304 case `$LD -v 2>&1` in
5305 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
5306 _LT_TAGVAR(ld_shlibs, $1)=no
5307 cat <<_LT_EOF 1>&2
5308
5309*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
5310*** reliably create shared libraries on SCO systems. Therefore, libtool
5311*** is disabling shared libraries support. We urge you to upgrade GNU
5312*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
5313*** your PATH or compiler configuration so that the native linker is
5314*** used, and then restart.
5315
5316_LT_EOF
5317 ;;
5318 *)
5319 # For security reasons, it is highly recommended that you always
5320 # use absolute paths for naming shared libraries, and exclude the
5321 # DT_RUNPATH tag from executables and libraries. But doing so
5322 # requires that you compile everything twice, which is a pain.
5323 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5324 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5325 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5326 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
5327 else
5328 _LT_TAGVAR(ld_shlibs, $1)=no
5329 fi
5330 ;;
5331 esac
5332 ;;
5333
5334 sunos4*)
5335 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5336 wlarc=
5337 _LT_TAGVAR(hardcode_direct, $1)=yes
5338 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5339 ;;
5340
5341 *)
5342 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5343 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5344 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
5345 else
5346 _LT_TAGVAR(ld_shlibs, $1)=no
5347 fi
5348 ;;
5349 esac
5350
5351 if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
5352 runpath_var=
5353 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5354 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
5355 _LT_TAGVAR(whole_archive_flag_spec, $1)=
5356 fi
5357 else
5358 # PORTME fill in a description of your system's linker (not GNU ld)
5359 case $host_os in
5360 aix3*)
5361 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5362 _LT_TAGVAR(always_export_symbols, $1)=yes
5363 _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
5364 # Note: this linker hardcodes the directories in LIBPATH if there
5365 # are no directories specified by -L.
5366 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5367 if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
5368 # Neither direct hardcoding nor static linking is supported with a
5369 # broken collect2.
5370 _LT_TAGVAR(hardcode_direct, $1)=unsupported
5371 fi
5372 ;;
5373
5374 aix[[4-9]]*)
5375 if test ia64 = "$host_cpu"; then
5376 # On IA64, the linker does run time linking by default, so we don't
5377 # have to do anything special.
5378 aix_use_runtimelinking=no
5379 exp_sym_flag='-Bexport'
5380 no_entry_flag=
5381 else
5382 # If we're using GNU nm, then we don't want the "-C" option.
5383 # -C means demangle to GNU nm, but means don't demangle to AIX nm.
5384 # Without the "-l" option, or with the "-B" option, AIX nm treats
5385 # weak defined symbols like other global defined symbols, whereas
5386 # GNU nm marks them as "W".
5387 # While the 'weak' keyword is ignored in the Export File, we need
5388 # it in the Import File for the 'aix-soname' feature, so we have
5389 # to replace the "-B" option with "-P" for AIX nm.
5390 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
5391 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
5392 else
5393 _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
5394 fi
5395 aix_use_runtimelinking=no
5396
5397 # Test if we are trying to use run time linking or normal
5398 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
5399 # have runtime linking enabled, and use it for executables.
5400 # For shared libraries, we enable/disable runtime linking
5401 # depending on the kind of the shared library created -
5402 # when "with_aix_soname,aix_use_runtimelinking" is:
5403 # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
5404 # "aix,yes" lib.so shared, rtl:yes, for executables
5405 # lib.a static archive
5406 # "both,no" lib.so.V(shr.o) shared, rtl:yes
5407 # lib.a(lib.so.V) shared, rtl:no, for executables
5408 # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
5409 # lib.a(lib.so.V) shared, rtl:no
5410 # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
5411 # lib.a static archive
5412 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5413 for ld_flag in $LDFLAGS; do
5414 if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
5415 aix_use_runtimelinking=yes
5416 break
5417 fi
5418 done
5419 if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
5420 # With aix-soname=svr4, we create the lib.so.V shared archives only,
5421 # so we don't have lib.a shared libs to link our executables.
5422 # We have to force runtime linking in this case.
5423 aix_use_runtimelinking=yes
5424 LDFLAGS="$LDFLAGS -Wl,-brtl"
5425 fi
5426 ;;
5427 esac
5428
5429 exp_sym_flag='-bexport'
5430 no_entry_flag='-bnoentry'
5431 fi
5432
5433 # When large executables or shared objects are built, AIX ld can
5434 # have problems creating the table of contents. If linking a library
5435 # or program results in "error TOC overflow" add -mminimal-toc to
5436 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
5437 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
5438
5439 _LT_TAGVAR(archive_cmds, $1)=''
5440 _LT_TAGVAR(hardcode_direct, $1)=yes
5441 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5442 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5443 _LT_TAGVAR(link_all_deplibs, $1)=yes
5444 _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
5445 case $with_aix_soname,$aix_use_runtimelinking in
5446 aix,*) ;; # traditional, no import file
5447 svr4,* | *,yes) # use import file
5448 # The Import File defines what to hardcode.
5449 _LT_TAGVAR(hardcode_direct, $1)=no
5450 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
5451 ;;
5452 esac
5453
5454 if test yes = "$GCC"; then
5455 case $host_os in aix4.[[012]]|aix4.[[012]].*)
5456 # We only want to do this on AIX 4.2 and lower, the check
5457 # below for broken collect2 doesn't work under 4.3+
5458 collect2name=`$CC -print-prog-name=collect2`
5459 if test -f "$collect2name" &&
5460 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
5461 then
5462 # We have reworked collect2
5463 :
5464 else
5465 # We have old collect2
5466 _LT_TAGVAR(hardcode_direct, $1)=unsupported
5467 # It fails to find uninstalled libraries when the uninstalled
5468 # path is not listed in the libpath. Setting hardcode_minus_L
5469 # to unsupported forces relinking
5470 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5471 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5472 _LT_TAGVAR(hardcode_libdir_separator, $1)=
5473 fi
5474 ;;
5475 esac
5476 shared_flag='-shared'
5477 if test yes = "$aix_use_runtimelinking"; then
5478 shared_flag="$shared_flag "'$wl-G'
5479 fi
5480 # Need to ensure runtime linking is disabled for the traditional
5481 # shared library, or the linker may eventually find shared libraries
5482 # /with/ Import File - we do not want to mix them.
5483 shared_flag_aix='-shared'
5484 shared_flag_svr4='-shared $wl-G'
5485 else
5486 # not using gcc
5487 if test ia64 = "$host_cpu"; then
5488 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5489 # chokes on -Wl,-G. The following line is correct:
5490 shared_flag='-G'
5491 else
5492 if test yes = "$aix_use_runtimelinking"; then
5493 shared_flag='$wl-G'
5494 else
5495 shared_flag='$wl-bM:SRE'
5496 fi
5497 shared_flag_aix='$wl-bM:SRE'
5498 shared_flag_svr4='$wl-G'
5499 fi
5500 fi
5501
5502 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
5503 # It seems that -bexpall does not export symbols beginning with
5504 # underscore (_), so it is better to generate a list of symbols to export.
5505 _LT_TAGVAR(always_export_symbols, $1)=yes
5506 if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
5507 # Warning - without using the other runtime loading flags (-brtl),
5508 # -berok will link without error, but may produce a broken library.
5509 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
5510 # Determine the default libpath from the value encoded in an
5511 # empty executable.
5512 _LT_SYS_MODULE_PATH_AIX([$1])
5513 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
5514 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
5515 else
5516 if test ia64 = "$host_cpu"; then
5517 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
5518 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5519 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
5520 else
5521 # Determine the default libpath from the value encoded in an
5522 # empty executable.
5523 _LT_SYS_MODULE_PATH_AIX([$1])
5524 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
5525 # Warning - without using the other run time loading flags,
5526 # -berok will link without error, but may produce a broken library.
5527 _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
5528 _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
5529 if test yes = "$with_gnu_ld"; then
5530 # We only use this code for GNU lds that support --whole-archive.
5531 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
5532 else
5533 # Exported symbols can be pulled into shared objects from archives
5534 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
5535 fi
5536 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5537 _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
5538 # -brtl affects multiple linker settings, -berok does not and is overridden later
5539 compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
5540 if test svr4 != "$with_aix_soname"; then
5541 # This is similar to how AIX traditionally builds its shared libraries.
5542 _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
5543 fi
5544 if test aix != "$with_aix_soname"; then
5545 _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
5546 else
5547 # used by -dlpreopen to get the symbols
5548 _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
5549 fi
5550 _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
5551 fi
5552 fi
5553 ;;
5554
5555 amigaos*)
5556 case $host_cpu in
5557 powerpc)
5558 # see comment about AmigaOS4 .so support
5559 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5560 _LT_TAGVAR(archive_expsym_cmds, $1)=''
5561 ;;
5562 m68k)
5563 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
5564 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5565 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5566 ;;
5567 esac
5568 ;;
5569
5570 bsdi[[45]]*)
5571 _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
5572 ;;
5573
5574 cygwin* | mingw* | pw32* | cegcc*)
5575 # When not using gcc, we currently assume that we are using
5576 # Microsoft Visual C++.
5577 # hardcode_libdir_flag_spec is actually meaningless, as there is
5578 # no search path for DLLs.
5579 case $cc_basename in
5580 cl*)
5581 # Native MSVC
5582 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5583 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5584 _LT_TAGVAR(always_export_symbols, $1)=yes
5585 _LT_TAGVAR(file_list_spec, $1)='@'
5586 # Tell ltmain to make .lib files, not .a files.
5587 libext=lib
5588 # Tell ltmain to make .dll files, not .so files.
5589 shrext_cmds=.dll
5590 # FIXME: Setting linknames here is a bad hack.
5591 _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
5592 _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
5593 cp "$export_symbols" "$output_objdir/$soname.def";
5594 echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
5595 else
5596 $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
5597 fi~
5598 $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
5599 linknames='
5600 # The linker will not automatically build a static lib if we build a DLL.
5601 # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5602 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5603 _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
5604 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
5605 # Don't use ranlib
5606 _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
5607 _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
5608 lt_tool_outputfile="@TOOL_OUTPUT@"~
5609 case $lt_outputfile in
5610 *.exe|*.EXE) ;;
5611 *)
5612 lt_outputfile=$lt_outputfile.exe
5613 lt_tool_outputfile=$lt_tool_outputfile.exe
5614 ;;
5615 esac~
5616 if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
5617 $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
5618 $RM "$lt_outputfile.manifest";
5619 fi'
5620 ;;
5621 *)
5622 # Assume MSVC wrapper
5623 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5624 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5625 # Tell ltmain to make .lib files, not .a files.
5626 libext=lib
5627 # Tell ltmain to make .dll files, not .so files.
5628 shrext_cmds=.dll
5629 # FIXME: Setting linknames here is a bad hack.
5630 _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
5631 # The linker will automatically build a .lib file if we build a DLL.
5632 _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5633 # FIXME: Should let the user specify the lib program.
5634 _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
5635 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5636 ;;
5637 esac
5638 ;;
5639
5640 darwin* | rhapsody*)
5641 _LT_DARWIN_LINKER_FEATURES($1)
5642 ;;
5643
5644 dgux*)
5645 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5646 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5647 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5648 ;;
5649
5650 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
5651 # support. Future versions do this automatically, but an explicit c++rt0.o
5652 # does not break anything, and helps significantly (at the cost of a little
5653 # extra space).
5654 freebsd2.2*)
5655 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
5656 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5657 _LT_TAGVAR(hardcode_direct, $1)=yes
5658 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5659 ;;
5660
5661 # Unfortunately, older versions of FreeBSD 2 do not have this feature.
5662 freebsd2.*)
5663 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5664 _LT_TAGVAR(hardcode_direct, $1)=yes
5665 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5666 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5667 ;;
5668
5669 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
5670 freebsd* | dragonfly*)
5671 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5672 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5673 _LT_TAGVAR(hardcode_direct, $1)=yes
5674 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5675 ;;
5676
5677 hpux9*)
5678 if test yes = "$GCC"; then
5679 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
5680 else
5681 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
5682 fi
5683 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
5684 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5685 _LT_TAGVAR(hardcode_direct, $1)=yes
5686
5687 # hardcode_minus_L: Not really in the search PATH,
5688 # but as the default location of the library.
5689 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5690 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5691 ;;
5692
5693 hpux10*)
5694 if test yes,no = "$GCC,$with_gnu_ld"; then
5695 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5696 else
5697 _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
5698 fi
5699 if test no = "$with_gnu_ld"; then
5700 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
5701 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5702 _LT_TAGVAR(hardcode_direct, $1)=yes
5703 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5704 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5705 # hardcode_minus_L: Not really in the search PATH,
5706 # but as the default location of the library.
5707 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5708 fi
5709 ;;
5710
5711 hpux11*)
5712 if test yes,no = "$GCC,$with_gnu_ld"; then
5713 case $host_cpu in
5714 hppa*64*)
5715 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
5716 ;;
5717 ia64*)
5718 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5719 ;;
5720 *)
5721 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5722 ;;
5723 esac
5724 else
5725 case $host_cpu in
5726 hppa*64*)
5727 _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
5728 ;;
5729 ia64*)
5730 _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5731 ;;
5732 *)
5733 m4_if($1, [], [
5734 # Older versions of the 11.00 compiler do not understand -b yet
5735 # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
5736 _LT_LINKER_OPTION([if $CC understands -b],
5737 _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
5738 [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
5739 [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
5740 [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
5741 ;;
5742 esac
5743 fi
5744 if test no = "$with_gnu_ld"; then
5745 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
5746 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5747
5748 case $host_cpu in
5749 hppa*64*|ia64*)
5750 _LT_TAGVAR(hardcode_direct, $1)=no
5751 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5752 ;;
5753 *)
5754 _LT_TAGVAR(hardcode_direct, $1)=yes
5755 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5756 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5757
5758 # hardcode_minus_L: Not really in the search PATH,
5759 # but as the default location of the library.
5760 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5761 ;;
5762 esac
5763 fi
5764 ;;
5765
5766 irix5* | irix6* | nonstopux*)
5767 if test yes = "$GCC"; then
5768 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
5769 # Try to use the -exported_symbol ld option, if it does not
5770 # work, assume that -exports_file does not work either and
5771 # implicitly export all symbols.
5772 # This should be the same for all languages, so no per-tag cache variable.
5773 AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
5774 [lt_cv_irix_exported_symbol],
5775 [save_LDFLAGS=$LDFLAGS
5776 LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
5777 AC_LINK_IFELSE(
5778 [AC_LANG_SOURCE(
5779 [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
5780 [C++], [[int foo (void) { return 0; }]],
5781 [Fortran 77], [[
5782 subroutine foo
5783 end]],
5784 [Fortran], [[
5785 subroutine foo
5786 end]])])],
5787 [lt_cv_irix_exported_symbol=yes],
5788 [lt_cv_irix_exported_symbol=no])
5789 LDFLAGS=$save_LDFLAGS])
5790 if test yes = "$lt_cv_irix_exported_symbol"; then
5791 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
5792 fi
5793 _LT_TAGVAR(link_all_deplibs, $1)=no
5794 else
5795 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
5796 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
5797 fi
5798 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5799 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5800 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5801 _LT_TAGVAR(inherit_rpath, $1)=yes
5802 _LT_TAGVAR(link_all_deplibs, $1)=yes
5803 ;;
5804
5805 linux*)
5806 case $cc_basename in
5807 tcc*)
5808 # Fabrice Bellard et al's Tiny C Compiler
5809 _LT_TAGVAR(ld_shlibs, $1)=yes
5810 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5811 ;;
5812 esac
5813 ;;
5814
5815 netbsd* | netbsdelf*-gnu)
5816 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5817 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
5818 else
5819 _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
5820 fi
5821 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5822 _LT_TAGVAR(hardcode_direct, $1)=yes
5823 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5824 ;;
5825
5826 newsos6)
5827 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5828 _LT_TAGVAR(hardcode_direct, $1)=yes
5829 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5830 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5831 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5832 ;;
5833
5834 *nto* | *qnx*)
5835 ;;
5836
5837 openbsd* | bitrig*)
5838 if test -f /usr/libexec/ld.so; then
5839 _LT_TAGVAR(hardcode_direct, $1)=yes
5840 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5841 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5842 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
5843 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5844 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
5845 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
5846 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5847 else
5848 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5849 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
5850 fi
5851 else
5852 _LT_TAGVAR(ld_shlibs, $1)=no
5853 fi
5854 ;;
5855
5856 os2*)
5857 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5858 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5859 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5860 shrext_cmds=.dll
5861 _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5862 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5863 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5864 $ECHO EXPORTS >> $output_objdir/$libname.def~
5865 emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
5866 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5867 emximp -o $lib $output_objdir/$libname.def'
5868 _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5869 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5870 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5871 $ECHO EXPORTS >> $output_objdir/$libname.def~
5872 prefix_cmds="$SED"~
5873 if test EXPORTS = "`$SED 1q $export_symbols`"; then
5874 prefix_cmds="$prefix_cmds -e 1d";
5875 fi~
5876 prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
5877 cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
5878 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5879 emximp -o $lib $output_objdir/$libname.def'
5880 _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
5881 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5882 ;;
5883
5884 osf3*)
5885 if test yes = "$GCC"; then
5886 _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
5887 _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
5888 else
5889 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5890 _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
5891 fi
5892 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5893 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5894 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5895 ;;
5896
5897 osf4* | osf5*) # as osf3* with the addition of -msym flag
5898 if test yes = "$GCC"; then
5899 _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
5900 _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
5901 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5902 else
5903 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5904 _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
5905 _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
5906 $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
5907
5908 # Both c and cxx compiler support -rpath directly
5909 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
5910 fi
5911 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5912 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5913 ;;
5914
5915 solaris*)
5916 _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
5917 if test yes = "$GCC"; then
5918 wlarc='$wl'
5919 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
5920 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5921 $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
5922 else
5923 case `$CC -V 2>&1` in
5924 *"Compilers 5.0"*)
5925 wlarc=''
5926 _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
5927 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5928 $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
5929 ;;
5930 *)
5931 wlarc='$wl'
5932 _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
5933 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5934 $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
5935 ;;
5936 esac
5937 fi
5938 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5939 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5940 case $host_os in
5941 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
5942 *)
5943 # The compiler driver will combine and reorder linker options,
5944 # but understands '-z linker_flag'. GCC discards it without '$wl',
5945 # but is careful enough not to reorder.
5946 # Supported since Solaris 2.6 (maybe 2.5.1?)
5947 if test yes = "$GCC"; then
5948 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
5949 else
5950 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
5951 fi
5952 ;;
5953 esac
5954 _LT_TAGVAR(link_all_deplibs, $1)=yes
5955 ;;
5956
5957 sunos4*)
5958 if test sequent = "$host_vendor"; then
5959 # Use $CC to link under sequent, because it throws in some extra .o
5960 # files that make .init and .fini sections work.
5961 _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
5962 else
5963 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
5964 fi
5965 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5966 _LT_TAGVAR(hardcode_direct, $1)=yes
5967 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5968 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5969 ;;
5970
5971 sysv4)
5972 case $host_vendor in
5973 sni)
5974 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5975 _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
5976 ;;
5977 siemens)
5978 ## LD is ld it makes a PLAMLIB
5979 ## CC just makes a GrossModule.
5980 _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
5981 _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
5982 _LT_TAGVAR(hardcode_direct, $1)=no
5983 ;;
5984 motorola)
5985 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5986 _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
5987 ;;
5988 esac
5989 runpath_var='LD_RUN_PATH'
5990 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5991 ;;
5992
5993 sysv4.3*)
5994 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5995 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5996 _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
5997 ;;
5998
5999 sysv4*MP*)
6000 if test -d /usr/nec; then
6001 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6002 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6003 runpath_var=LD_RUN_PATH
6004 hardcode_runpath_var=yes
6005 _LT_TAGVAR(ld_shlibs, $1)=yes
6006 fi
6007 ;;
6008
6009 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
6010 _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
6011 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6012 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6013 runpath_var='LD_RUN_PATH'
6014
6015 if test yes = "$GCC"; then
6016 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6017 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6018 else
6019 _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6020 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6021 fi
6022 ;;
6023
6024 sysv5* | sco3.2v5* | sco5v6*)
6025 # Note: We CANNOT use -z defs as we might desire, because we do not
6026 # link with -lc, and that would cause any symbols used from libc to
6027 # always be unresolved, which means just about no library would
6028 # ever link correctly. If we're not using GNU ld we use -z text
6029 # though, which does catch some bad symbols but isn't as heavy-handed
6030 # as -z defs.
6031 _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
6032 _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
6033 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6034 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6035 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
6036 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6037 _LT_TAGVAR(link_all_deplibs, $1)=yes
6038 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
6039 runpath_var='LD_RUN_PATH'
6040
6041 if test yes = "$GCC"; then
6042 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6043 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6044 else
6045 _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6046 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6047 fi
6048 ;;
6049
6050 uts4*)
6051 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6052 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6053 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6054 ;;
6055
6056 *)
6057 _LT_TAGVAR(ld_shlibs, $1)=no
6058 ;;
6059 esac
6060
6061 if test sni = "$host_vendor"; then
6062 case $host in
6063 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
6064 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
6065 ;;
6066 esac
6067 fi
6068 fi
6069])
6070AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
6071test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
6072
6073_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
6074
6075_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
6076_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
6077_LT_DECL([], [extract_expsyms_cmds], [2],
6078 [The commands to extract the exported symbol list from a shared archive])
6079
6080#
6081# Do we need to explicitly link libc?
6082#
6083case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
6084x|xyes)
6085 # Assume -lc should be added
6086 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6087
6088 if test yes,yes = "$GCC,$enable_shared"; then
6089 case $_LT_TAGVAR(archive_cmds, $1) in
6090 *'~'*)
6091 # FIXME: we may have to deal with multi-command sequences.
6092 ;;
6093 '$CC '*)
6094 # Test whether the compiler implicitly links with -lc since on some
6095 # systems, -lgcc has to come before -lc. If gcc already passes -lc
6096 # to ld, don't add -lc before -lgcc.
6097 AC_CACHE_CHECK([whether -lc should be explicitly linked in],
6098 [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
6099 [$RM conftest*
6100 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
6101
6102 if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
6103 soname=conftest
6104 lib=conftest
6105 libobjs=conftest.$ac_objext
6106 deplibs=
6107 wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
6108 pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
6109 compiler_flags=-v
6110 linker_flags=-v
6111 verstring=
6112 output_objdir=.
6113 libname=conftest
6114 lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
6115 _LT_TAGVAR(allow_undefined_flag, $1)=
6116 if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
6117 then
6118 lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6119 else
6120 lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6121 fi
6122 _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
6123 else
6124 cat conftest.err 1>&5
6125 fi
6126 $RM conftest*
6127 ])
6128 _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
6129 ;;
6130 esac
6131 fi
6132 ;;
6133esac
6134
6135_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
6136 [Whether or not to add -lc for building shared libraries])
6137_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
6138 [enable_shared_with_static_runtimes], [0],
6139 [Whether or not to disallow shared libs when runtime libs are static])
6140_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
6141 [Compiler flag to allow reflexive dlopens])
6142_LT_TAGDECL([], [whole_archive_flag_spec], [1],
6143 [Compiler flag to generate shared objects directly from archives])
6144_LT_TAGDECL([], [compiler_needs_object], [1],
6145 [Whether the compiler copes with passing no objects directly])
6146_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
6147 [Create an old-style archive from a shared archive])
6148_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
6149 [Create a temporary old-style archive to link instead of a shared archive])
6150_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
6151_LT_TAGDECL([], [archive_expsym_cmds], [2])
6152_LT_TAGDECL([], [module_cmds], [2],
6153 [Commands used to build a loadable module if different from building
6154 a shared archive.])
6155_LT_TAGDECL([], [module_expsym_cmds], [2])
6156_LT_TAGDECL([], [with_gnu_ld], [1],
6157 [Whether we are building with GNU ld or not])
6158_LT_TAGDECL([], [allow_undefined_flag], [1],
6159 [Flag that allows shared libraries with undefined symbols to be built])
6160_LT_TAGDECL([], [no_undefined_flag], [1],
6161 [Flag that enforces no undefined symbols])
6162_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
6163 [Flag to hardcode $libdir into a binary during linking.
6164 This must work even if $libdir does not exist])
6165_LT_TAGDECL([], [hardcode_libdir_separator], [1],
6166 [Whether we need a single "-rpath" flag with a separated argument])
6167_LT_TAGDECL([], [hardcode_direct], [0],
6168 [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
6169 DIR into the resulting binary])
6170_LT_TAGDECL([], [hardcode_direct_absolute], [0],
6171 [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
6172 DIR into the resulting binary and the resulting library dependency is
6173 "absolute", i.e impossible to change by setting $shlibpath_var if the
6174 library is relocated])
6175_LT_TAGDECL([], [hardcode_minus_L], [0],
6176 [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
6177 into the resulting binary])
6178_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
6179 [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
6180 into the resulting binary])
6181_LT_TAGDECL([], [hardcode_automatic], [0],
6182 [Set to "yes" if building a shared library automatically hardcodes DIR
6183 into the library and all subsequent libraries and executables linked
6184 against it])
6185_LT_TAGDECL([], [inherit_rpath], [0],
6186 [Set to yes if linker adds runtime paths of dependent libraries
6187 to runtime path list])
6188_LT_TAGDECL([], [link_all_deplibs], [0],
6189 [Whether libtool must link a program against all its dependency libraries])
6190_LT_TAGDECL([], [always_export_symbols], [0],
6191 [Set to "yes" if exported symbols are required])
6192_LT_TAGDECL([], [export_symbols_cmds], [2],
6193 [The commands to list exported symbols])
6194_LT_TAGDECL([], [exclude_expsyms], [1],
6195 [Symbols that should not be listed in the preloaded symbols])
6196_LT_TAGDECL([], [include_expsyms], [1],
6197 [Symbols that must always be exported])
6198_LT_TAGDECL([], [prelink_cmds], [2],
6199 [Commands necessary for linking programs (against libraries) with templates])
6200_LT_TAGDECL([], [postlink_cmds], [2],
6201 [Commands necessary for finishing linking programs])
6202_LT_TAGDECL([], [file_list_spec], [1],
6203 [Specify filename containing input files])
6204dnl FIXME: Not yet implemented
6205dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
6206dnl [Compiler flag to generate thread safe objects])
6207])# _LT_LINKER_SHLIBS
6208
6209
6210# _LT_LANG_C_CONFIG([TAG])
6211# ------------------------
6212# Ensure that the configuration variables for a C compiler are suitably
6213# defined. These variables are subsequently used by _LT_CONFIG to write
6214# the compiler configuration to 'libtool'.
6215m4_defun([_LT_LANG_C_CONFIG],
6216[m4_require([_LT_DECL_EGREP])dnl
6217lt_save_CC=$CC
6218AC_LANG_PUSH(C)
6219
6220# Source file extension for C test sources.
6221ac_ext=c
6222
6223# Object file extension for compiled C test sources.
6224objext=o
6225_LT_TAGVAR(objext, $1)=$objext
6226
6227# Code to be used in simple compile tests
6228lt_simple_compile_test_code="int some_variable = 0;"
6229
6230# Code to be used in simple link tests
6231lt_simple_link_test_code='int main(){return(0);}'
6232
6233_LT_TAG_COMPILER
6234# Save the default compiler, since it gets overwritten when the other
6235# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
6236compiler_DEFAULT=$CC
6237
6238# save warnings/boilerplate of simple test code
6239_LT_COMPILER_BOILERPLATE
6240_LT_LINKER_BOILERPLATE
6241
6242## CAVEAT EMPTOR:
6243## There is no encapsulation within the following macros, do not change
6244## the running order or otherwise move them around unless you know exactly
6245## what you are doing...
6246if test -n "$compiler"; then
6247 _LT_COMPILER_NO_RTTI($1)
6248 _LT_COMPILER_PIC($1)
6249 _LT_COMPILER_C_O($1)
6250 _LT_COMPILER_FILE_LOCKS($1)
6251 _LT_LINKER_SHLIBS($1)
6252 _LT_SYS_DYNAMIC_LINKER($1)
6253 _LT_LINKER_HARDCODE_LIBPATH($1)
6254 LT_SYS_DLOPEN_SELF
6255 _LT_CMD_STRIPLIB
6256
6257 # Report what library types will actually be built
6258 AC_MSG_CHECKING([if libtool supports shared libraries])
6259 AC_MSG_RESULT([$can_build_shared])
6260
6261 AC_MSG_CHECKING([whether to build shared libraries])
6262 test no = "$can_build_shared" && enable_shared=no
6263
6264 # On AIX, shared libraries and static libraries use the same namespace, and
6265 # are all built from PIC.
6266 case $host_os in
6267 aix3*)
6268 test yes = "$enable_shared" && enable_static=no
6269 if test -n "$RANLIB"; then
6270 archive_cmds="$archive_cmds~\$RANLIB \$lib"
6271 postinstall_cmds='$RANLIB $lib'
6272 fi
6273 ;;
6274
6275 aix[[4-9]]*)
6276 if test ia64 != "$host_cpu"; then
6277 case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
6278 yes,aix,yes) ;; # shared object as lib.so file only
6279 yes,svr4,*) ;; # shared object as lib.so archive member only
6280 yes,*) enable_static=no ;; # shared object in lib.a archive as well
6281 esac
6282 fi
6283 ;;
6284 esac
6285 AC_MSG_RESULT([$enable_shared])
6286
6287 AC_MSG_CHECKING([whether to build static libraries])
6288 # Make sure either enable_shared or enable_static is yes.
6289 test yes = "$enable_shared" || enable_static=yes
6290 AC_MSG_RESULT([$enable_static])
6291
6292 _LT_CONFIG($1)
6293fi
6294AC_LANG_POP
6295CC=$lt_save_CC
6296])# _LT_LANG_C_CONFIG
6297
6298
6299# _LT_LANG_CXX_CONFIG([TAG])
6300# --------------------------
6301# Ensure that the configuration variables for a C++ compiler are suitably
6302# defined. These variables are subsequently used by _LT_CONFIG to write
6303# the compiler configuration to 'libtool'.
6304m4_defun([_LT_LANG_CXX_CONFIG],
6305[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
6306m4_require([_LT_DECL_EGREP])dnl
6307m4_require([_LT_PATH_MANIFEST_TOOL])dnl
6308if test -n "$CXX" && ( test no != "$CXX" &&
6309 ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
6310 (test g++ != "$CXX"))); then
6311 AC_PROG_CXXCPP
6312else
6313 _lt_caught_CXX_error=yes
6314fi
6315
6316AC_LANG_PUSH(C++)
6317_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6318_LT_TAGVAR(allow_undefined_flag, $1)=
6319_LT_TAGVAR(always_export_symbols, $1)=no
6320_LT_TAGVAR(archive_expsym_cmds, $1)=
6321_LT_TAGVAR(compiler_needs_object, $1)=no
6322_LT_TAGVAR(export_dynamic_flag_spec, $1)=
6323_LT_TAGVAR(hardcode_direct, $1)=no
6324_LT_TAGVAR(hardcode_direct_absolute, $1)=no
6325_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6326_LT_TAGVAR(hardcode_libdir_separator, $1)=
6327_LT_TAGVAR(hardcode_minus_L, $1)=no
6328_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
6329_LT_TAGVAR(hardcode_automatic, $1)=no
6330_LT_TAGVAR(inherit_rpath, $1)=no
6331_LT_TAGVAR(module_cmds, $1)=
6332_LT_TAGVAR(module_expsym_cmds, $1)=
6333_LT_TAGVAR(link_all_deplibs, $1)=unknown
6334_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6335_LT_TAGVAR(reload_flag, $1)=$reload_flag
6336_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
6337_LT_TAGVAR(no_undefined_flag, $1)=
6338_LT_TAGVAR(whole_archive_flag_spec, $1)=
6339_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6340
6341# Source file extension for C++ test sources.
6342ac_ext=cpp
6343
6344# Object file extension for compiled C++ test sources.
6345objext=o
6346_LT_TAGVAR(objext, $1)=$objext
6347
6348# No sense in running all these tests if we already determined that
6349# the CXX compiler isn't working. Some variables (like enable_shared)
6350# are currently assumed to apply to all compilers on this platform,
6351# and will be corrupted by setting them based on a non-working compiler.
6352if test yes != "$_lt_caught_CXX_error"; then
6353 # Code to be used in simple compile tests
6354 lt_simple_compile_test_code="int some_variable = 0;"
6355
6356 # Code to be used in simple link tests
6357 lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
6358
6359 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
6360 _LT_TAG_COMPILER
6361
6362 # save warnings/boilerplate of simple test code
6363 _LT_COMPILER_BOILERPLATE
6364 _LT_LINKER_BOILERPLATE
6365
6366 # Allow CC to be a program name with arguments.
6367 lt_save_CC=$CC
6368 lt_save_CFLAGS=$CFLAGS
6369 lt_save_LD=$LD
6370 lt_save_GCC=$GCC
6371 GCC=$GXX
6372 lt_save_with_gnu_ld=$with_gnu_ld
6373 lt_save_path_LD=$lt_cv_path_LD
6374 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
6375 lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
6376 else
6377 $as_unset lt_cv_prog_gnu_ld
6378 fi
6379 if test -n "${lt_cv_path_LDCXX+set}"; then
6380 lt_cv_path_LD=$lt_cv_path_LDCXX
6381 else
6382 $as_unset lt_cv_path_LD
6383 fi
6384 test -z "${LDCXX+set}" || LD=$LDCXX
6385 CC=${CXX-"c++"}
6386 CFLAGS=$CXXFLAGS
6387 compiler=$CC
6388 _LT_TAGVAR(compiler, $1)=$CC
6389 _LT_CC_BASENAME([$compiler])
6390
6391 if test -n "$compiler"; then
6392 # We don't want -fno-exception when compiling C++ code, so set the
6393 # no_builtin_flag separately
6394 if test yes = "$GXX"; then
6395 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
6396 else
6397 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
6398 fi
6399
6400 if test yes = "$GXX"; then
6401 # Set up default GNU C++ configuration
6402
6403 LT_PATH_LD
6404
6405 # Check if GNU C++ uses GNU ld as the underlying linker, since the
6406 # archiving commands below assume that GNU ld is being used.
6407 if test yes = "$with_gnu_ld"; then
6408 _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
6409 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
6410
6411 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
6412 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
6413
6414 # If archive_cmds runs LD, not CC, wlarc should be empty
6415 # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
6416 # investigate it a little bit more. (MM)
6417 wlarc='$wl'
6418
6419 # ancient GNU ld didn't support --whole-archive et. al.
6420 if eval "`$CC -print-prog-name=ld` --help 2>&1" |
6421 $GREP 'no-whole-archive' > /dev/null; then
6422 _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
6423 else
6424 _LT_TAGVAR(whole_archive_flag_spec, $1)=
6425 fi
6426 else
6427 with_gnu_ld=no
6428 wlarc=
6429
6430 # A generic and very simple default shared library creation
6431 # command for GNU C++ for the case where it uses the native
6432 # linker, instead of GNU ld. If possible, this setting should
6433 # overridden to take advantage of the native linker features on
6434 # the platform it is being used on.
6435 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
6436 fi
6437
6438 # Commands to make compiler produce verbose output that lists
6439 # what "hidden" libraries, object files and flags are used when
6440 # linking a shared library.
6441 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
6442
6443 else
6444 GXX=no
6445 with_gnu_ld=no
6446 wlarc=
6447 fi
6448
6449 # PORTME: fill in a description of your system's C++ link characteristics
6450 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
6451 _LT_TAGVAR(ld_shlibs, $1)=yes
6452 case $host_os in
6453 aix3*)
6454 # FIXME: insert proper C++ library support
6455 _LT_TAGVAR(ld_shlibs, $1)=no
6456 ;;
6457 aix[[4-9]]*)
6458 if test ia64 = "$host_cpu"; then
6459 # On IA64, the linker does run time linking by default, so we don't
6460 # have to do anything special.
6461 aix_use_runtimelinking=no
6462 exp_sym_flag='-Bexport'
6463 no_entry_flag=
6464 else
6465 aix_use_runtimelinking=no
6466
6467 # Test if we are trying to use run time linking or normal
6468 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
6469 # have runtime linking enabled, and use it for executables.
6470 # For shared libraries, we enable/disable runtime linking
6471 # depending on the kind of the shared library created -
6472 # when "with_aix_soname,aix_use_runtimelinking" is:
6473 # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
6474 # "aix,yes" lib.so shared, rtl:yes, for executables
6475 # lib.a static archive
6476 # "both,no" lib.so.V(shr.o) shared, rtl:yes
6477 # lib.a(lib.so.V) shared, rtl:no, for executables
6478 # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
6479 # lib.a(lib.so.V) shared, rtl:no
6480 # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
6481 # lib.a static archive
6482 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
6483 for ld_flag in $LDFLAGS; do
6484 case $ld_flag in
6485 *-brtl*)
6486 aix_use_runtimelinking=yes
6487 break
6488 ;;
6489 esac
6490 done
6491 if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
6492 # With aix-soname=svr4, we create the lib.so.V shared archives only,
6493 # so we don't have lib.a shared libs to link our executables.
6494 # We have to force runtime linking in this case.
6495 aix_use_runtimelinking=yes
6496 LDFLAGS="$LDFLAGS -Wl,-brtl"
6497 fi
6498 ;;
6499 esac
6500
6501 exp_sym_flag='-bexport'
6502 no_entry_flag='-bnoentry'
6503 fi
6504
6505 # When large executables or shared objects are built, AIX ld can
6506 # have problems creating the table of contents. If linking a library
6507 # or program results in "error TOC overflow" add -mminimal-toc to
6508 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
6509 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
6510
6511 _LT_TAGVAR(archive_cmds, $1)=''
6512 _LT_TAGVAR(hardcode_direct, $1)=yes
6513 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6514 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6515 _LT_TAGVAR(link_all_deplibs, $1)=yes
6516 _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
6517 case $with_aix_soname,$aix_use_runtimelinking in
6518 aix,*) ;; # no import file
6519 svr4,* | *,yes) # use import file
6520 # The Import File defines what to hardcode.
6521 _LT_TAGVAR(hardcode_direct, $1)=no
6522 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
6523 ;;
6524 esac
6525
6526 if test yes = "$GXX"; then
6527 case $host_os in aix4.[[012]]|aix4.[[012]].*)
6528 # We only want to do this on AIX 4.2 and lower, the check
6529 # below for broken collect2 doesn't work under 4.3+
6530 collect2name=`$CC -print-prog-name=collect2`
6531 if test -f "$collect2name" &&
6532 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
6533 then
6534 # We have reworked collect2
6535 :
6536 else
6537 # We have old collect2
6538 _LT_TAGVAR(hardcode_direct, $1)=unsupported
6539 # It fails to find uninstalled libraries when the uninstalled
6540 # path is not listed in the libpath. Setting hardcode_minus_L
6541 # to unsupported forces relinking
6542 _LT_TAGVAR(hardcode_minus_L, $1)=yes
6543 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6544 _LT_TAGVAR(hardcode_libdir_separator, $1)=
6545 fi
6546 esac
6547 shared_flag='-shared'
6548 if test yes = "$aix_use_runtimelinking"; then
6549 shared_flag=$shared_flag' $wl-G'
6550 fi
6551 # Need to ensure runtime linking is disabled for the traditional
6552 # shared library, or the linker may eventually find shared libraries
6553 # /with/ Import File - we do not want to mix them.
6554 shared_flag_aix='-shared'
6555 shared_flag_svr4='-shared $wl-G'
6556 else
6557 # not using gcc
6558 if test ia64 = "$host_cpu"; then
6559 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
6560 # chokes on -Wl,-G. The following line is correct:
6561 shared_flag='-G'
6562 else
6563 if test yes = "$aix_use_runtimelinking"; then
6564 shared_flag='$wl-G'
6565 else
6566 shared_flag='$wl-bM:SRE'
6567 fi
6568 shared_flag_aix='$wl-bM:SRE'
6569 shared_flag_svr4='$wl-G'
6570 fi
6571 fi
6572
6573 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
6574 # It seems that -bexpall does not export symbols beginning with
6575 # underscore (_), so it is better to generate a list of symbols to
6576 # export.
6577 _LT_TAGVAR(always_export_symbols, $1)=yes
6578 if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
6579 # Warning - without using the other runtime loading flags (-brtl),
6580 # -berok will link without error, but may produce a broken library.
6581 # The "-G" linker flag allows undefined symbols.
6582 _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
6583 # Determine the default libpath from the value encoded in an empty
6584 # executable.
6585 _LT_SYS_MODULE_PATH_AIX([$1])
6586 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
6587
6588 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
6589 else
6590 if test ia64 = "$host_cpu"; then
6591 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
6592 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
6593 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
6594 else
6595 # Determine the default libpath from the value encoded in an
6596 # empty executable.
6597 _LT_SYS_MODULE_PATH_AIX([$1])
6598 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
6599 # Warning - without using the other run time loading flags,
6600 # -berok will link without error, but may produce a broken library.
6601 _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
6602 _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
6603 if test yes = "$with_gnu_ld"; then
6604 # We only use this code for GNU lds that support --whole-archive.
6605 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
6606 else
6607 # Exported symbols can be pulled into shared objects from archives
6608 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
6609 fi
6610 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6611 _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
6612 # -brtl affects multiple linker settings, -berok does not and is overridden later
6613 compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
6614 if test svr4 != "$with_aix_soname"; then
6615 # This is similar to how AIX traditionally builds its shared
6616 # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
6617 _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
6618 fi
6619 if test aix != "$with_aix_soname"; then
6620 _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
6621 else
6622 # used by -dlpreopen to get the symbols
6623 _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
6624 fi
6625 _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
6626 fi
6627 fi
6628 ;;
6629
6630 beos*)
6631 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
6632 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6633 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
6634 # support --undefined. This deserves some investigation. FIXME
6635 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
6636 else
6637 _LT_TAGVAR(ld_shlibs, $1)=no
6638 fi
6639 ;;
6640
6641 chorus*)
6642 case $cc_basename in
6643 *)
6644 # FIXME: insert proper C++ library support
6645 _LT_TAGVAR(ld_shlibs, $1)=no
6646 ;;
6647 esac
6648 ;;
6649
6650 cygwin* | mingw* | pw32* | cegcc*)
6651 case $GXX,$cc_basename in
6652 ,cl* | no,cl*)
6653 # Native MSVC
6654 # hardcode_libdir_flag_spec is actually meaningless, as there is
6655 # no search path for DLLs.
6656 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
6657 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6658 _LT_TAGVAR(always_export_symbols, $1)=yes
6659 _LT_TAGVAR(file_list_spec, $1)='@'
6660 # Tell ltmain to make .lib files, not .a files.
6661 libext=lib
6662 # Tell ltmain to make .dll files, not .so files.
6663 shrext_cmds=.dll
6664 # FIXME: Setting linknames here is a bad hack.
6665 _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
6666 _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
6667 cp "$export_symbols" "$output_objdir/$soname.def";
6668 echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
6669 else
6670 $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
6671 fi~
6672 $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
6673 linknames='
6674 # The linker will not automatically build a static lib if we build a DLL.
6675 # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
6676 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6677 # Don't use ranlib
6678 _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
6679 _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
6680 lt_tool_outputfile="@TOOL_OUTPUT@"~
6681 case $lt_outputfile in
6682 *.exe|*.EXE) ;;
6683 *)
6684 lt_outputfile=$lt_outputfile.exe
6685 lt_tool_outputfile=$lt_tool_outputfile.exe
6686 ;;
6687 esac~
6688 func_to_tool_file "$lt_outputfile"~
6689 if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
6690 $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
6691 $RM "$lt_outputfile.manifest";
6692 fi'
6693 ;;
6694 *)
6695 # g++
6696 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
6697 # as there is no search path for DLLs.
6698 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6699 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
6700 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6701 _LT_TAGVAR(always_export_symbols, $1)=no
6702 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6703
6704 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
6705 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
6706 # If the export-symbols file already is a .def file, use it as
6707 # is; otherwise, prepend EXPORTS...
6708 _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
6709 cp $export_symbols $output_objdir/$soname.def;
6710 else
6711 echo EXPORTS > $output_objdir/$soname.def;
6712 cat $export_symbols >> $output_objdir/$soname.def;
6713 fi~
6714 $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
6715 else
6716 _LT_TAGVAR(ld_shlibs, $1)=no
6717 fi
6718 ;;
6719 esac
6720 ;;
6721 darwin* | rhapsody*)
6722 _LT_DARWIN_LINKER_FEATURES($1)
6723 ;;
6724
6725 os2*)
6726 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6727 _LT_TAGVAR(hardcode_minus_L, $1)=yes
6728 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6729 shrext_cmds=.dll
6730 _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
6731 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
6732 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
6733 $ECHO EXPORTS >> $output_objdir/$libname.def~
6734 emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
6735 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
6736 emximp -o $lib $output_objdir/$libname.def'
6737 _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
6738 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
6739 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
6740 $ECHO EXPORTS >> $output_objdir/$libname.def~
6741 prefix_cmds="$SED"~
6742 if test EXPORTS = "`$SED 1q $export_symbols`"; then
6743 prefix_cmds="$prefix_cmds -e 1d";
6744 fi~
6745 prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
6746 cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
6747 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
6748 emximp -o $lib $output_objdir/$libname.def'
6749 _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
6750 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6751 ;;
6752
6753 dgux*)
6754 case $cc_basename in
6755 ec++*)
6756 # FIXME: insert proper C++ library support
6757 _LT_TAGVAR(ld_shlibs, $1)=no
6758 ;;
6759 ghcx*)
6760 # Green Hills C++ Compiler
6761 # FIXME: insert proper C++ library support
6762 _LT_TAGVAR(ld_shlibs, $1)=no
6763 ;;
6764 *)
6765 # FIXME: insert proper C++ library support
6766 _LT_TAGVAR(ld_shlibs, $1)=no
6767 ;;
6768 esac
6769 ;;
6770
6771 freebsd2.*)
6772 # C++ shared libraries reported to be fairly broken before
6773 # switch to ELF
6774 _LT_TAGVAR(ld_shlibs, $1)=no
6775 ;;
6776
6777 freebsd-elf*)
6778 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6779 ;;
6780
6781 freebsd* | dragonfly*)
6782 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
6783 # conventions
6784 _LT_TAGVAR(ld_shlibs, $1)=yes
6785 ;;
6786
6787 haiku*)
6788 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
6789 _LT_TAGVAR(link_all_deplibs, $1)=yes
6790 ;;
6791
6792 hpux9*)
6793 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
6794 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6795 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
6796 _LT_TAGVAR(hardcode_direct, $1)=yes
6797 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6798 # but as the default
6799 # location of the library.
6800
6801 case $cc_basename in
6802 CC*)
6803 # FIXME: insert proper C++ library support
6804 _LT_TAGVAR(ld_shlibs, $1)=no
6805 ;;
6806 aCC*)
6807 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
6808 # Commands to make compiler produce verbose output that lists
6809 # what "hidden" libraries, object files and flags are used when
6810 # linking a shared library.
6811 #
6812 # There doesn't appear to be a way to prevent this compiler from
6813 # explicitly linking system object files so we need to strip them
6814 # from the output so that they don't get included in the library
6815 # dependencies.
6816 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
6817 ;;
6818 *)
6819 if test yes = "$GXX"; then
6820 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
6821 else
6822 # FIXME: insert proper C++ library support
6823 _LT_TAGVAR(ld_shlibs, $1)=no
6824 fi
6825 ;;
6826 esac
6827 ;;
6828
6829 hpux10*|hpux11*)
6830 if test no = "$with_gnu_ld"; then
6831 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
6832 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6833
6834 case $host_cpu in
6835 hppa*64*|ia64*)
6836 ;;
6837 *)
6838 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
6839 ;;
6840 esac
6841 fi
6842 case $host_cpu in
6843 hppa*64*|ia64*)
6844 _LT_TAGVAR(hardcode_direct, $1)=no
6845 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6846 ;;
6847 *)
6848 _LT_TAGVAR(hardcode_direct, $1)=yes
6849 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6850 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6851 # but as the default
6852 # location of the library.
6853 ;;
6854 esac
6855
6856 case $cc_basename in
6857 CC*)
6858 # FIXME: insert proper C++ library support
6859 _LT_TAGVAR(ld_shlibs, $1)=no
6860 ;;
6861 aCC*)
6862 case $host_cpu in
6863 hppa*64*)
6864 _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6865 ;;
6866 ia64*)
6867 _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6868 ;;
6869 *)
6870 _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6871 ;;
6872 esac
6873 # Commands to make compiler produce verbose output that lists
6874 # what "hidden" libraries, object files and flags are used when
6875 # linking a shared library.
6876 #
6877 # There doesn't appear to be a way to prevent this compiler from
6878 # explicitly linking system object files so we need to strip them
6879 # from the output so that they don't get included in the library
6880 # dependencies.
6881 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
6882 ;;
6883 *)
6884 if test yes = "$GXX"; then
6885 if test no = "$with_gnu_ld"; then
6886 case $host_cpu in
6887 hppa*64*)
6888 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6889 ;;
6890 ia64*)
6891 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6892 ;;
6893 *)
6894 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6895 ;;
6896 esac
6897 fi
6898 else
6899 # FIXME: insert proper C++ library support
6900 _LT_TAGVAR(ld_shlibs, $1)=no
6901 fi
6902 ;;
6903 esac
6904 ;;
6905
6906 interix[[3-9]]*)
6907 _LT_TAGVAR(hardcode_direct, $1)=no
6908 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6909 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
6910 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
6911 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
6912 # Instead, shared libraries are loaded at an image base (0x10000000 by
6913 # default) and relocated if they conflict, which is a slow very memory
6914 # consuming and fragmenting process. To avoid this, we pick a random,
6915 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
6916 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
6917 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
6918 _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
6919 ;;
6920 irix5* | irix6*)
6921 case $cc_basename in
6922 CC*)
6923 # SGI C++
6924 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
6925
6926 # Archives containing C++ object files must be created using
6927 # "CC -ar", where "CC" is the IRIX C++ compiler. This is
6928 # necessary to make sure instantiated templates are included
6929 # in the archive.
6930 _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
6931 ;;
6932 *)
6933 if test yes = "$GXX"; then
6934 if test no = "$with_gnu_ld"; then
6935 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
6936 else
6937 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
6938 fi
6939 fi
6940 _LT_TAGVAR(link_all_deplibs, $1)=yes
6941 ;;
6942 esac
6943 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
6944 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6945 _LT_TAGVAR(inherit_rpath, $1)=yes
6946 ;;
6947
6948 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
6949 case $cc_basename in
6950 KCC*)
6951 # Kuck and Associates, Inc. (KAI) C++ Compiler
6952
6953 # KCC will only create a shared library if the output file
6954 # ends with ".so" (or ".sl" for HP-UX), so rename the library
6955 # to its proper name (with version) after linking.
6956 _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
6957 _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'
6958 # Commands to make compiler produce verbose output that lists
6959 # what "hidden" libraries, object files and flags are used when
6960 # linking a shared library.
6961 #
6962 # There doesn't appear to be a way to prevent this compiler from
6963 # explicitly linking system object files so we need to strip them
6964 # from the output so that they don't get included in the library
6965 # dependencies.
6966 output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
6967
6968 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
6969 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
6970
6971 # Archives containing C++ object files must be created using
6972 # "CC -Bstatic", where "CC" is the KAI C++ compiler.
6973 _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
6974 ;;
6975 icpc* | ecpc* )
6976 # Intel C++
6977 with_gnu_ld=yes
6978 # version 8.0 and above of icpc choke on multiply defined symbols
6979 # if we add $predep_objects and $postdep_objects, however 7.1 and
6980 # earlier do not add the objects themselves.
6981 case `$CC -V 2>&1` in
6982 *"Version 7."*)
6983 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
6984 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
6985 ;;
6986 *) # Version 8.0 or newer
6987 tmp_idyn=
6988 case $host_cpu in
6989 ia64*) tmp_idyn=' -i_dynamic';;
6990 esac
6991 _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
6992 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
6993 ;;
6994 esac
6995 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6996 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
6997 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
6998 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
6999 ;;
7000 pgCC* | pgcpp*)
7001 # Portland Group C++ compiler
7002 case `$CC -V` in
7003 *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
7004 _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
7005 rm -rf $tpldir~
7006 $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
7007 compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
7008 _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
7009 rm -rf $tpldir~
7010 $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
7011 $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
7012 $RANLIB $oldlib'
7013 _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
7014 rm -rf $tpldir~
7015 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
7016 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
7017 _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
7018 rm -rf $tpldir~
7019 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
7020 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
7021 ;;
7022 *) # Version 6 and above use weak symbols
7023 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
7024 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
7025 ;;
7026 esac
7027
7028 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
7029 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
7030 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
7031 ;;
7032 cxx*)
7033 # Compaq C++
7034 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
7035 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols'
7036
7037 runpath_var=LD_RUN_PATH
7038 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
7039 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7040
7041 # Commands to make compiler produce verbose output that lists
7042 # what "hidden" libraries, object files and flags are used when
7043 # linking a shared library.
7044 #
7045 # There doesn't appear to be a way to prevent this compiler from
7046 # explicitly linking system object files so we need to strip them
7047 # from the output so that they don't get included in the library
7048 # dependencies.
7049 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
7050 ;;
7051 xl* | mpixl* | bgxl*)
7052 # IBM XL 8.0 on PPC, with GNU ld
7053 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7054 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
7055 _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
7056 if test yes = "$supports_anon_versioning"; then
7057 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
7058 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
7059 echo "local: *; };" >> $output_objdir/$libname.ver~
7060 $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
7061 fi
7062 ;;
7063 *)
7064 case `$CC -V 2>&1 | sed 5q` in
7065 *Sun\ C*)
7066 # Sun C++ 5.9
7067 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
7068 _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
7069 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
7070 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7071 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
7072 _LT_TAGVAR(compiler_needs_object, $1)=yes
7073
7074 # Not sure whether something based on
7075 # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
7076 # would be better.
7077 output_verbose_link_cmd='func_echo_all'
7078
7079 # Archives containing C++ object files must be created using
7080 # "CC -xar", where "CC" is the Sun C++ compiler. This is
7081 # necessary to make sure instantiated templates are included
7082 # in the archive.
7083 _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
7084 ;;
7085 esac
7086 ;;
7087 esac
7088 ;;
7089
7090 lynxos*)
7091 # FIXME: insert proper C++ library support
7092 _LT_TAGVAR(ld_shlibs, $1)=no
7093 ;;
7094
7095 m88k*)
7096 # FIXME: insert proper C++ library support
7097 _LT_TAGVAR(ld_shlibs, $1)=no
7098 ;;
7099
7100 mvs*)
7101 case $cc_basename in
7102 cxx*)
7103 # FIXME: insert proper C++ library support
7104 _LT_TAGVAR(ld_shlibs, $1)=no
7105 ;;
7106 *)
7107 # FIXME: insert proper C++ library support
7108 _LT_TAGVAR(ld_shlibs, $1)=no
7109 ;;
7110 esac
7111 ;;
7112
7113 netbsd*)
7114 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
7115 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
7116 wlarc=
7117 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7118 _LT_TAGVAR(hardcode_direct, $1)=yes
7119 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7120 fi
7121 # Workaround some broken pre-1.5 toolchains
7122 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
7123 ;;
7124
7125 *nto* | *qnx*)
7126 _LT_TAGVAR(ld_shlibs, $1)=yes
7127 ;;
7128
7129 openbsd* | bitrig*)
7130 if test -f /usr/libexec/ld.so; then
7131 _LT_TAGVAR(hardcode_direct, $1)=yes
7132 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7133 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
7134 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
7135 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
7136 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
7137 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
7138 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
7139 _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
7140 fi
7141 output_verbose_link_cmd=func_echo_all
7142 else
7143 _LT_TAGVAR(ld_shlibs, $1)=no
7144 fi
7145 ;;
7146
7147 osf3* | osf4* | osf5*)
7148 case $cc_basename in
7149 KCC*)
7150 # Kuck and Associates, Inc. (KAI) C++ Compiler
7151
7152 # KCC will only create a shared library if the output file
7153 # ends with ".so" (or ".sl" for HP-UX), so rename the library
7154 # to its proper name (with version) after linking.
7155 _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
7156
7157 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
7158 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7159
7160 # Archives containing C++ object files must be created using
7161 # the KAI C++ compiler.
7162 case $host in
7163 osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
7164 *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
7165 esac
7166 ;;
7167 RCC*)
7168 # Rational C++ 2.4.1
7169 # FIXME: insert proper C++ library support
7170 _LT_TAGVAR(ld_shlibs, $1)=no
7171 ;;
7172 cxx*)
7173 case $host in
7174 osf3*)
7175 _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
7176 _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
7177 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7178 ;;
7179 *)
7180 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
7181 _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
7182 _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
7183 echo "-hidden">> $lib.exp~
7184 $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
7185 $RM $lib.exp'
7186 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
7187 ;;
7188 esac
7189
7190 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7191
7192 # Commands to make compiler produce verbose output that lists
7193 # what "hidden" libraries, object files and flags are used when
7194 # linking a shared library.
7195 #
7196 # There doesn't appear to be a way to prevent this compiler from
7197 # explicitly linking system object files so we need to strip them
7198 # from the output so that they don't get included in the library
7199 # dependencies.
7200 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
7201 ;;
7202 *)
7203 if test yes,no = "$GXX,$with_gnu_ld"; then
7204 _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
7205 case $host in
7206 osf3*)
7207 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
7208 ;;
7209 *)
7210 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
7211 ;;
7212 esac
7213
7214 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7215 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7216
7217 # Commands to make compiler produce verbose output that lists
7218 # what "hidden" libraries, object files and flags are used when
7219 # linking a shared library.
7220 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
7221
7222 else
7223 # FIXME: insert proper C++ library support
7224 _LT_TAGVAR(ld_shlibs, $1)=no
7225 fi
7226 ;;
7227 esac
7228 ;;
7229
7230 psos*)
7231 # FIXME: insert proper C++ library support
7232 _LT_TAGVAR(ld_shlibs, $1)=no
7233 ;;
7234
7235 sunos4*)
7236 case $cc_basename in
7237 CC*)
7238 # Sun C++ 4.x
7239 # FIXME: insert proper C++ library support
7240 _LT_TAGVAR(ld_shlibs, $1)=no
7241 ;;
7242 lcc*)
7243 # Lucid
7244 # FIXME: insert proper C++ library support
7245 _LT_TAGVAR(ld_shlibs, $1)=no
7246 ;;
7247 *)
7248 # FIXME: insert proper C++ library support
7249 _LT_TAGVAR(ld_shlibs, $1)=no
7250 ;;
7251 esac
7252 ;;
7253
7254 solaris*)
7255 case $cc_basename in
7256 CC* | sunCC*)
7257 # Sun C++ 4.2, 5.x and Centerline C++
7258 _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
7259 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
7260 _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
7261 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7262 $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
7263
7264 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7265 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7266 case $host_os in
7267 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
7268 *)
7269 # The compiler driver will combine and reorder linker options,
7270 # but understands '-z linker_flag'.
7271 # Supported since Solaris 2.6 (maybe 2.5.1?)
7272 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
7273 ;;
7274 esac
7275 _LT_TAGVAR(link_all_deplibs, $1)=yes
7276
7277 output_verbose_link_cmd='func_echo_all'
7278
7279 # Archives containing C++ object files must be created using
7280 # "CC -xar", where "CC" is the Sun C++ compiler. This is
7281 # necessary to make sure instantiated templates are included
7282 # in the archive.
7283 _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
7284 ;;
7285 gcx*)
7286 # Green Hills C++ Compiler
7287 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
7288
7289 # The C++ compiler must be used to create the archive.
7290 _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
7291 ;;
7292 *)
7293 # GNU C++ compiler with Solaris linker
7294 if test yes,no = "$GXX,$with_gnu_ld"; then
7295 _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
7296 if $CC --version | $GREP -v '^2\.7' > /dev/null; then
7297 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
7298 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7299 $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
7300
7301 # Commands to make compiler produce verbose output that lists
7302 # what "hidden" libraries, object files and flags are used when
7303 # linking a shared library.
7304 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
7305 else
7306 # g++ 2.7 appears to require '-G' NOT '-shared' on this
7307 # platform.
7308 _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
7309 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7310 $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
7311
7312 # Commands to make compiler produce verbose output that lists
7313 # what "hidden" libraries, object files and flags are used when
7314 # linking a shared library.
7315 output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
7316 fi
7317
7318 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
7319 case $host_os in
7320 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
7321 *)
7322 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
7323 ;;
7324 esac
7325 fi
7326 ;;
7327 esac
7328 ;;
7329
7330 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
7331 _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
7332 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7333 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7334 runpath_var='LD_RUN_PATH'
7335
7336 case $cc_basename in
7337 CC*)
7338 _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7339 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7340 ;;
7341 *)
7342 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7343 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7344 ;;
7345 esac
7346 ;;
7347
7348 sysv5* | sco3.2v5* | sco5v6*)
7349 # Note: We CANNOT use -z defs as we might desire, because we do not
7350 # link with -lc, and that would cause any symbols used from libc to
7351 # always be unresolved, which means just about no library would
7352 # ever link correctly. If we're not using GNU ld we use -z text
7353 # though, which does catch some bad symbols but isn't as heavy-handed
7354 # as -z defs.
7355 _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
7356 _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
7357 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7358 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7359 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
7360 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
7361 _LT_TAGVAR(link_all_deplibs, $1)=yes
7362 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
7363 runpath_var='LD_RUN_PATH'
7364
7365 case $cc_basename in
7366 CC*)
7367 _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7368 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7369 _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
7370 '"$_LT_TAGVAR(old_archive_cmds, $1)"
7371 _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
7372 '"$_LT_TAGVAR(reload_cmds, $1)"
7373 ;;
7374 *)
7375 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7376 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7377 ;;
7378 esac
7379 ;;
7380
7381 tandem*)
7382 case $cc_basename in
7383 NCC*)
7384 # NonStop-UX NCC 3.20
7385 # FIXME: insert proper C++ library support
7386 _LT_TAGVAR(ld_shlibs, $1)=no
7387 ;;
7388 *)
7389 # FIXME: insert proper C++ library support
7390 _LT_TAGVAR(ld_shlibs, $1)=no
7391 ;;
7392 esac
7393 ;;
7394
7395 vxworks*)
7396 # FIXME: insert proper C++ library support
7397 _LT_TAGVAR(ld_shlibs, $1)=no
7398 ;;
7399
7400 *)
7401 # FIXME: insert proper C++ library support
7402 _LT_TAGVAR(ld_shlibs, $1)=no
7403 ;;
7404 esac
7405
7406 AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
7407 test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
7408
7409 _LT_TAGVAR(GCC, $1)=$GXX
7410 _LT_TAGVAR(LD, $1)=$LD
7411
7412 ## CAVEAT EMPTOR:
7413 ## There is no encapsulation within the following macros, do not change
7414 ## the running order or otherwise move them around unless you know exactly
7415 ## what you are doing...
7416 _LT_SYS_HIDDEN_LIBDEPS($1)
7417 _LT_COMPILER_PIC($1)
7418 _LT_COMPILER_C_O($1)
7419 _LT_COMPILER_FILE_LOCKS($1)
7420 _LT_LINKER_SHLIBS($1)
7421 _LT_SYS_DYNAMIC_LINKER($1)
7422 _LT_LINKER_HARDCODE_LIBPATH($1)
7423
7424 _LT_CONFIG($1)
7425 fi # test -n "$compiler"
7426
7427 CC=$lt_save_CC
7428 CFLAGS=$lt_save_CFLAGS
7429 LDCXX=$LD
7430 LD=$lt_save_LD
7431 GCC=$lt_save_GCC
7432 with_gnu_ld=$lt_save_with_gnu_ld
7433 lt_cv_path_LDCXX=$lt_cv_path_LD
7434 lt_cv_path_LD=$lt_save_path_LD
7435 lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
7436 lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
7437fi # test yes != "$_lt_caught_CXX_error"
7438
7439AC_LANG_POP
7440])# _LT_LANG_CXX_CONFIG
7441
7442
7443# _LT_FUNC_STRIPNAME_CNF
7444# ----------------------
7445# func_stripname_cnf prefix suffix name
7446# strip PREFIX and SUFFIX off of NAME.
7447# PREFIX and SUFFIX must not contain globbing or regex special
7448# characters, hashes, percent signs, but SUFFIX may contain a leading
7449# dot (in which case that matches only a dot).
7450#
7451# This function is identical to the (non-XSI) version of func_stripname,
7452# except this one can be used by m4 code that may be executed by configure,
7453# rather than the libtool script.
7454m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
7455AC_REQUIRE([_LT_DECL_SED])
7456AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
7457func_stripname_cnf ()
7458{
7459 case @S|@2 in
7460 .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
7461 *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
7462 esac
7463} # func_stripname_cnf
7464])# _LT_FUNC_STRIPNAME_CNF
7465
7466
7467# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
7468# ---------------------------------
7469# Figure out "hidden" library dependencies from verbose
7470# compiler output when linking a shared library.
7471# Parse the compiler output and extract the necessary
7472# objects, libraries and library flags.
7473m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
7474[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
7475AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
7476# Dependencies to place before and after the object being linked:
7477_LT_TAGVAR(predep_objects, $1)=
7478_LT_TAGVAR(postdep_objects, $1)=
7479_LT_TAGVAR(predeps, $1)=
7480_LT_TAGVAR(postdeps, $1)=
7481_LT_TAGVAR(compiler_lib_search_path, $1)=
7482
7483dnl we can't use the lt_simple_compile_test_code here,
7484dnl because it contains code intended for an executable,
7485dnl not a library. It's possible we should let each
7486dnl tag define a new lt_????_link_test_code variable,
7487dnl but it's only used here...
7488m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
7489int a;
7490void foo (void) { a = 0; }
7491_LT_EOF
7492], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
7493class Foo
7494{
7495public:
7496 Foo (void) { a = 0; }
7497private:
7498 int a;
7499};
7500_LT_EOF
7501], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
7502 subroutine foo
7503 implicit none
7504 integer*4 a
7505 a=0
7506 return
7507 end
7508_LT_EOF
7509], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
7510 subroutine foo
7511 implicit none
7512 integer a
7513 a=0
7514 return
7515 end
7516_LT_EOF
7517], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
7518public class foo {
7519 private int a;
7520 public void bar (void) {
7521 a = 0;
7522 }
7523};
7524_LT_EOF
7525], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
7526package foo
7527func foo() {
7528}
7529_LT_EOF
7530])
7531
7532_lt_libdeps_save_CFLAGS=$CFLAGS
7533case "$CC $CFLAGS " in #(
7534*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
7535*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
7536*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
7537esac
7538
7539dnl Parse the compiler output and extract the necessary
7540dnl objects, libraries and library flags.
7541if AC_TRY_EVAL(ac_compile); then
7542 # Parse the compiler output and extract the necessary
7543 # objects, libraries and library flags.
7544
7545 # Sentinel used to keep track of whether or not we are before
7546 # the conftest object file.
7547 pre_test_object_deps_done=no
7548
7549 for p in `eval "$output_verbose_link_cmd"`; do
7550 case $prev$p in
7551
7552 -L* | -R* | -l*)
7553 # Some compilers place space between "-{L,R}" and the path.
7554 # Remove the space.
7555 if test x-L = "$p" ||
7556 test x-R = "$p"; then
7557 prev=$p
7558 continue
7559 fi
7560
7561 # Expand the sysroot to ease extracting the directories later.
7562 if test -z "$prev"; then
7563 case $p in
7564 -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
7565 -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
7566 -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
7567 esac
7568 fi
7569 case $p in
7570 =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
7571 esac
7572 if test no = "$pre_test_object_deps_done"; then
7573 case $prev in
7574 -L | -R)
7575 # Internal compiler library paths should come after those
7576 # provided the user. The postdeps already come after the
7577 # user supplied libs so there is no need to process them.
7578 if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
7579 _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
7580 else
7581 _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
7582 fi
7583 ;;
7584 # The "-l" case would never come before the object being
7585 # linked, so don't bother handling this case.
7586 esac
7587 else
7588 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
7589 _LT_TAGVAR(postdeps, $1)=$prev$p
7590 else
7591 _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
7592 fi
7593 fi
7594 prev=
7595 ;;
7596
7597 *.lto.$objext) ;; # Ignore GCC LTO objects
7598 *.$objext)
7599 # This assumes that the test object file only shows up
7600 # once in the compiler output.
7601 if test "$p" = "conftest.$objext"; then
7602 pre_test_object_deps_done=yes
7603 continue
7604 fi
7605
7606 if test no = "$pre_test_object_deps_done"; then
7607 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
7608 _LT_TAGVAR(predep_objects, $1)=$p
7609 else
7610 _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
7611 fi
7612 else
7613 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
7614 _LT_TAGVAR(postdep_objects, $1)=$p
7615 else
7616 _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
7617 fi
7618 fi
7619 ;;
7620
7621 *) ;; # Ignore the rest.
7622
7623 esac
7624 done
7625
7626 # Clean up.
7627 rm -f a.out a.exe
7628else
7629 echo "libtool.m4: error: problem compiling $1 test program"
7630fi
7631
7632$RM -f confest.$objext
7633CFLAGS=$_lt_libdeps_save_CFLAGS
7634
7635# PORTME: override above test on systems where it is broken
7636m4_if([$1], [CXX],
7637[case $host_os in
7638interix[[3-9]]*)
7639 # Interix 3.5 installs completely hosed .la files for C++, so rather than
7640 # hack all around it, let's just trust "g++" to DTRT.
7641 _LT_TAGVAR(predep_objects,$1)=
7642 _LT_TAGVAR(postdep_objects,$1)=
7643 _LT_TAGVAR(postdeps,$1)=
7644 ;;
7645esac
7646])
7647
7648case " $_LT_TAGVAR(postdeps, $1) " in
7649*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
7650esac
7651 _LT_TAGVAR(compiler_lib_search_dirs, $1)=
7652if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
7653 _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
7654fi
7655_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
7656 [The directories searched by this compiler when creating a shared library])
7657_LT_TAGDECL([], [predep_objects], [1],
7658 [Dependencies to place before and after the objects being linked to
7659 create a shared library])
7660_LT_TAGDECL([], [postdep_objects], [1])
7661_LT_TAGDECL([], [predeps], [1])
7662_LT_TAGDECL([], [postdeps], [1])
7663_LT_TAGDECL([], [compiler_lib_search_path], [1],
7664 [The library search path used internally by the compiler when linking
7665 a shared library])
7666])# _LT_SYS_HIDDEN_LIBDEPS
7667
7668
7669# _LT_LANG_F77_CONFIG([TAG])
7670# --------------------------
7671# Ensure that the configuration variables for a Fortran 77 compiler are
7672# suitably defined. These variables are subsequently used by _LT_CONFIG
7673# to write the compiler configuration to 'libtool'.
7674m4_defun([_LT_LANG_F77_CONFIG],
7675[AC_LANG_PUSH(Fortran 77)
7676if test -z "$F77" || test no = "$F77"; then
7677 _lt_disable_F77=yes
7678fi
7679
7680_LT_TAGVAR(archive_cmds_need_lc, $1)=no
7681_LT_TAGVAR(allow_undefined_flag, $1)=
7682_LT_TAGVAR(always_export_symbols, $1)=no
7683_LT_TAGVAR(archive_expsym_cmds, $1)=
7684_LT_TAGVAR(export_dynamic_flag_spec, $1)=
7685_LT_TAGVAR(hardcode_direct, $1)=no
7686_LT_TAGVAR(hardcode_direct_absolute, $1)=no
7687_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7688_LT_TAGVAR(hardcode_libdir_separator, $1)=
7689_LT_TAGVAR(hardcode_minus_L, $1)=no
7690_LT_TAGVAR(hardcode_automatic, $1)=no
7691_LT_TAGVAR(inherit_rpath, $1)=no
7692_LT_TAGVAR(module_cmds, $1)=
7693_LT_TAGVAR(module_expsym_cmds, $1)=
7694_LT_TAGVAR(link_all_deplibs, $1)=unknown
7695_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7696_LT_TAGVAR(reload_flag, $1)=$reload_flag
7697_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7698_LT_TAGVAR(no_undefined_flag, $1)=
7699_LT_TAGVAR(whole_archive_flag_spec, $1)=
7700_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7701
7702# Source file extension for f77 test sources.
7703ac_ext=f
7704
7705# Object file extension for compiled f77 test sources.
7706objext=o
7707_LT_TAGVAR(objext, $1)=$objext
7708
7709# No sense in running all these tests if we already determined that
7710# the F77 compiler isn't working. Some variables (like enable_shared)
7711# are currently assumed to apply to all compilers on this platform,
7712# and will be corrupted by setting them based on a non-working compiler.
7713if test yes != "$_lt_disable_F77"; then
7714 # Code to be used in simple compile tests
7715 lt_simple_compile_test_code="\
7716 subroutine t
7717 return
7718 end
7719"
7720
7721 # Code to be used in simple link tests
7722 lt_simple_link_test_code="\
7723 program t
7724 end
7725"
7726
7727 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7728 _LT_TAG_COMPILER
7729
7730 # save warnings/boilerplate of simple test code
7731 _LT_COMPILER_BOILERPLATE
7732 _LT_LINKER_BOILERPLATE
7733
7734 # Allow CC to be a program name with arguments.
7735 lt_save_CC=$CC
7736 lt_save_GCC=$GCC
7737 lt_save_CFLAGS=$CFLAGS
7738 CC=${F77-"f77"}
7739 CFLAGS=$FFLAGS
7740 compiler=$CC
7741 _LT_TAGVAR(compiler, $1)=$CC
7742 _LT_CC_BASENAME([$compiler])
7743 GCC=$G77
7744 if test -n "$compiler"; then
7745 AC_MSG_CHECKING([if libtool supports shared libraries])
7746 AC_MSG_RESULT([$can_build_shared])
7747
7748 AC_MSG_CHECKING([whether to build shared libraries])
7749 test no = "$can_build_shared" && enable_shared=no
7750
7751 # On AIX, shared libraries and static libraries use the same namespace, and
7752 # are all built from PIC.
7753 case $host_os in
7754 aix3*)
7755 test yes = "$enable_shared" && enable_static=no
7756 if test -n "$RANLIB"; then
7757 archive_cmds="$archive_cmds~\$RANLIB \$lib"
7758 postinstall_cmds='$RANLIB $lib'
7759 fi
7760 ;;
7761 aix[[4-9]]*)
7762 if test ia64 != "$host_cpu"; then
7763 case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
7764 yes,aix,yes) ;; # shared object as lib.so file only
7765 yes,svr4,*) ;; # shared object as lib.so archive member only
7766 yes,*) enable_static=no ;; # shared object in lib.a archive as well
7767 esac
7768 fi
7769 ;;
7770 esac
7771 AC_MSG_RESULT([$enable_shared])
7772
7773 AC_MSG_CHECKING([whether to build static libraries])
7774 # Make sure either enable_shared or enable_static is yes.
7775 test yes = "$enable_shared" || enable_static=yes
7776 AC_MSG_RESULT([$enable_static])
7777
7778 _LT_TAGVAR(GCC, $1)=$G77
7779 _LT_TAGVAR(LD, $1)=$LD
7780
7781 ## CAVEAT EMPTOR:
7782 ## There is no encapsulation within the following macros, do not change
7783 ## the running order or otherwise move them around unless you know exactly
7784 ## what you are doing...
7785 _LT_COMPILER_PIC($1)
7786 _LT_COMPILER_C_O($1)
7787 _LT_COMPILER_FILE_LOCKS($1)
7788 _LT_LINKER_SHLIBS($1)
7789 _LT_SYS_DYNAMIC_LINKER($1)
7790 _LT_LINKER_HARDCODE_LIBPATH($1)
7791
7792 _LT_CONFIG($1)
7793 fi # test -n "$compiler"
7794
7795 GCC=$lt_save_GCC
7796 CC=$lt_save_CC
7797 CFLAGS=$lt_save_CFLAGS
7798fi # test yes != "$_lt_disable_F77"
7799
7800AC_LANG_POP
7801])# _LT_LANG_F77_CONFIG
7802
7803
7804# _LT_LANG_FC_CONFIG([TAG])
7805# -------------------------
7806# Ensure that the configuration variables for a Fortran compiler are
7807# suitably defined. These variables are subsequently used by _LT_CONFIG
7808# to write the compiler configuration to 'libtool'.
7809m4_defun([_LT_LANG_FC_CONFIG],
7810[AC_LANG_PUSH(Fortran)
7811
7812if test -z "$FC" || test no = "$FC"; then
7813 _lt_disable_FC=yes
7814fi
7815
7816_LT_TAGVAR(archive_cmds_need_lc, $1)=no
7817_LT_TAGVAR(allow_undefined_flag, $1)=
7818_LT_TAGVAR(always_export_symbols, $1)=no
7819_LT_TAGVAR(archive_expsym_cmds, $1)=
7820_LT_TAGVAR(export_dynamic_flag_spec, $1)=
7821_LT_TAGVAR(hardcode_direct, $1)=no
7822_LT_TAGVAR(hardcode_direct_absolute, $1)=no
7823_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7824_LT_TAGVAR(hardcode_libdir_separator, $1)=
7825_LT_TAGVAR(hardcode_minus_L, $1)=no
7826_LT_TAGVAR(hardcode_automatic, $1)=no
7827_LT_TAGVAR(inherit_rpath, $1)=no
7828_LT_TAGVAR(module_cmds, $1)=
7829_LT_TAGVAR(module_expsym_cmds, $1)=
7830_LT_TAGVAR(link_all_deplibs, $1)=unknown
7831_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7832_LT_TAGVAR(reload_flag, $1)=$reload_flag
7833_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7834_LT_TAGVAR(no_undefined_flag, $1)=
7835_LT_TAGVAR(whole_archive_flag_spec, $1)=
7836_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7837
7838# Source file extension for fc test sources.
7839ac_ext=${ac_fc_srcext-f}
7840
7841# Object file extension for compiled fc test sources.
7842objext=o
7843_LT_TAGVAR(objext, $1)=$objext
7844
7845# No sense in running all these tests if we already determined that
7846# the FC compiler isn't working. Some variables (like enable_shared)
7847# are currently assumed to apply to all compilers on this platform,
7848# and will be corrupted by setting them based on a non-working compiler.
7849if test yes != "$_lt_disable_FC"; then
7850 # Code to be used in simple compile tests
7851 lt_simple_compile_test_code="\
7852 subroutine t
7853 return
7854 end
7855"
7856
7857 # Code to be used in simple link tests
7858 lt_simple_link_test_code="\
7859 program t
7860 end
7861"
7862
7863 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7864 _LT_TAG_COMPILER
7865
7866 # save warnings/boilerplate of simple test code
7867 _LT_COMPILER_BOILERPLATE
7868 _LT_LINKER_BOILERPLATE
7869
7870 # Allow CC to be a program name with arguments.
7871 lt_save_CC=$CC
7872 lt_save_GCC=$GCC
7873 lt_save_CFLAGS=$CFLAGS
7874 CC=${FC-"f95"}
7875 CFLAGS=$FCFLAGS
7876 compiler=$CC
7877 GCC=$ac_cv_fc_compiler_gnu
7878
7879 _LT_TAGVAR(compiler, $1)=$CC
7880 _LT_CC_BASENAME([$compiler])
7881
7882 if test -n "$compiler"; then
7883 AC_MSG_CHECKING([if libtool supports shared libraries])
7884 AC_MSG_RESULT([$can_build_shared])
7885
7886 AC_MSG_CHECKING([whether to build shared libraries])
7887 test no = "$can_build_shared" && enable_shared=no
7888
7889 # On AIX, shared libraries and static libraries use the same namespace, and
7890 # are all built from PIC.
7891 case $host_os in
7892 aix3*)
7893 test yes = "$enable_shared" && enable_static=no
7894 if test -n "$RANLIB"; then
7895 archive_cmds="$archive_cmds~\$RANLIB \$lib"
7896 postinstall_cmds='$RANLIB $lib'
7897 fi
7898 ;;
7899 aix[[4-9]]*)
7900 if test ia64 != "$host_cpu"; then
7901 case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
7902 yes,aix,yes) ;; # shared object as lib.so file only
7903 yes,svr4,*) ;; # shared object as lib.so archive member only
7904 yes,*) enable_static=no ;; # shared object in lib.a archive as well
7905 esac
7906 fi
7907 ;;
7908 esac
7909 AC_MSG_RESULT([$enable_shared])
7910
7911 AC_MSG_CHECKING([whether to build static libraries])
7912 # Make sure either enable_shared or enable_static is yes.
7913 test yes = "$enable_shared" || enable_static=yes
7914 AC_MSG_RESULT([$enable_static])
7915
7916 _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
7917 _LT_TAGVAR(LD, $1)=$LD
7918
7919 ## CAVEAT EMPTOR:
7920 ## There is no encapsulation within the following macros, do not change
7921 ## the running order or otherwise move them around unless you know exactly
7922 ## what you are doing...
7923 _LT_SYS_HIDDEN_LIBDEPS($1)
7924 _LT_COMPILER_PIC($1)
7925 _LT_COMPILER_C_O($1)
7926 _LT_COMPILER_FILE_LOCKS($1)
7927 _LT_LINKER_SHLIBS($1)
7928 _LT_SYS_DYNAMIC_LINKER($1)
7929 _LT_LINKER_HARDCODE_LIBPATH($1)
7930
7931 _LT_CONFIG($1)
7932 fi # test -n "$compiler"
7933
7934 GCC=$lt_save_GCC
7935 CC=$lt_save_CC
7936 CFLAGS=$lt_save_CFLAGS
7937fi # test yes != "$_lt_disable_FC"
7938
7939AC_LANG_POP
7940])# _LT_LANG_FC_CONFIG
7941
7942
7943# _LT_LANG_GCJ_CONFIG([TAG])
7944# --------------------------
7945# Ensure that the configuration variables for the GNU Java Compiler compiler
7946# are suitably defined. These variables are subsequently used by _LT_CONFIG
7947# to write the compiler configuration to 'libtool'.
7948m4_defun([_LT_LANG_GCJ_CONFIG],
7949[AC_REQUIRE([LT_PROG_GCJ])dnl
7950AC_LANG_SAVE
7951
7952# Source file extension for Java test sources.
7953ac_ext=java
7954
7955# Object file extension for compiled Java test sources.
7956objext=o
7957_LT_TAGVAR(objext, $1)=$objext
7958
7959# Code to be used in simple compile tests
7960lt_simple_compile_test_code="class foo {}"
7961
7962# Code to be used in simple link tests
7963lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
7964
7965# ltmain only uses $CC for tagged configurations so make sure $CC is set.
7966_LT_TAG_COMPILER
7967
7968# save warnings/boilerplate of simple test code
7969_LT_COMPILER_BOILERPLATE
7970_LT_LINKER_BOILERPLATE
7971
7972# Allow CC to be a program name with arguments.
7973lt_save_CC=$CC
7974lt_save_CFLAGS=$CFLAGS
7975lt_save_GCC=$GCC
7976GCC=yes
7977CC=${GCJ-"gcj"}
7978CFLAGS=$GCJFLAGS
7979compiler=$CC
7980_LT_TAGVAR(compiler, $1)=$CC
7981_LT_TAGVAR(LD, $1)=$LD
7982_LT_CC_BASENAME([$compiler])
7983
7984# GCJ did not exist at the time GCC didn't implicitly link libc in.
7985_LT_TAGVAR(archive_cmds_need_lc, $1)=no
7986
7987_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7988_LT_TAGVAR(reload_flag, $1)=$reload_flag
7989_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7990
7991## CAVEAT EMPTOR:
7992## There is no encapsulation within the following macros, do not change
7993## the running order or otherwise move them around unless you know exactly
7994## what you are doing...
7995if test -n "$compiler"; then
7996 _LT_COMPILER_NO_RTTI($1)
7997 _LT_COMPILER_PIC($1)
7998 _LT_COMPILER_C_O($1)
7999 _LT_COMPILER_FILE_LOCKS($1)
8000 _LT_LINKER_SHLIBS($1)
8001 _LT_LINKER_HARDCODE_LIBPATH($1)
8002
8003 _LT_CONFIG($1)
8004fi
8005
8006AC_LANG_RESTORE
8007
8008GCC=$lt_save_GCC
8009CC=$lt_save_CC
8010CFLAGS=$lt_save_CFLAGS
8011])# _LT_LANG_GCJ_CONFIG
8012
8013
8014# _LT_LANG_GO_CONFIG([TAG])
8015# --------------------------
8016# Ensure that the configuration variables for the GNU Go compiler
8017# are suitably defined. These variables are subsequently used by _LT_CONFIG
8018# to write the compiler configuration to 'libtool'.
8019m4_defun([_LT_LANG_GO_CONFIG],
8020[AC_REQUIRE([LT_PROG_GO])dnl
8021AC_LANG_SAVE
8022
8023# Source file extension for Go test sources.
8024ac_ext=go
8025
8026# Object file extension for compiled Go test sources.
8027objext=o
8028_LT_TAGVAR(objext, $1)=$objext
8029
8030# Code to be used in simple compile tests
8031lt_simple_compile_test_code="package main; func main() { }"
8032
8033# Code to be used in simple link tests
8034lt_simple_link_test_code='package main; func main() { }'
8035
8036# ltmain only uses $CC for tagged configurations so make sure $CC is set.
8037_LT_TAG_COMPILER
8038
8039# save warnings/boilerplate of simple test code
8040_LT_COMPILER_BOILERPLATE
8041_LT_LINKER_BOILERPLATE
8042
8043# Allow CC to be a program name with arguments.
8044lt_save_CC=$CC
8045lt_save_CFLAGS=$CFLAGS
8046lt_save_GCC=$GCC
8047GCC=yes
8048CC=${GOC-"gccgo"}
8049CFLAGS=$GOFLAGS
8050compiler=$CC
8051_LT_TAGVAR(compiler, $1)=$CC
8052_LT_TAGVAR(LD, $1)=$LD
8053_LT_CC_BASENAME([$compiler])
8054
8055# Go did not exist at the time GCC didn't implicitly link libc in.
8056_LT_TAGVAR(archive_cmds_need_lc, $1)=no
8057
8058_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
8059_LT_TAGVAR(reload_flag, $1)=$reload_flag
8060_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
8061
8062## CAVEAT EMPTOR:
8063## There is no encapsulation within the following macros, do not change
8064## the running order or otherwise move them around unless you know exactly
8065## what you are doing...
8066if test -n "$compiler"; then
8067 _LT_COMPILER_NO_RTTI($1)
8068 _LT_COMPILER_PIC($1)
8069 _LT_COMPILER_C_O($1)
8070 _LT_COMPILER_FILE_LOCKS($1)
8071 _LT_LINKER_SHLIBS($1)
8072 _LT_LINKER_HARDCODE_LIBPATH($1)
8073
8074 _LT_CONFIG($1)
8075fi
8076
8077AC_LANG_RESTORE
8078
8079GCC=$lt_save_GCC
8080CC=$lt_save_CC
8081CFLAGS=$lt_save_CFLAGS
8082])# _LT_LANG_GO_CONFIG
8083
8084
8085# _LT_LANG_RC_CONFIG([TAG])
8086# -------------------------
8087# Ensure that the configuration variables for the Windows resource compiler
8088# are suitably defined. These variables are subsequently used by _LT_CONFIG
8089# to write the compiler configuration to 'libtool'.
8090m4_defun([_LT_LANG_RC_CONFIG],
8091[AC_REQUIRE([LT_PROG_RC])dnl
8092AC_LANG_SAVE
8093
8094# Source file extension for RC test sources.
8095ac_ext=rc
8096
8097# Object file extension for compiled RC test sources.
8098objext=o
8099_LT_TAGVAR(objext, $1)=$objext
8100
8101# Code to be used in simple compile tests
8102lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
8103
8104# Code to be used in simple link tests
8105lt_simple_link_test_code=$lt_simple_compile_test_code
8106
8107# ltmain only uses $CC for tagged configurations so make sure $CC is set.
8108_LT_TAG_COMPILER
8109
8110# save warnings/boilerplate of simple test code
8111_LT_COMPILER_BOILERPLATE
8112_LT_LINKER_BOILERPLATE
8113
8114# Allow CC to be a program name with arguments.
8115lt_save_CC=$CC
8116lt_save_CFLAGS=$CFLAGS
8117lt_save_GCC=$GCC
8118GCC=
8119CC=${RC-"windres"}
8120CFLAGS=
8121compiler=$CC
8122_LT_TAGVAR(compiler, $1)=$CC
8123_LT_CC_BASENAME([$compiler])
8124_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
8125
8126if test -n "$compiler"; then
8127 :
8128 _LT_CONFIG($1)
8129fi
8130
8131GCC=$lt_save_GCC
8132AC_LANG_RESTORE
8133CC=$lt_save_CC
8134CFLAGS=$lt_save_CFLAGS
8135])# _LT_LANG_RC_CONFIG
8136
8137
8138# LT_PROG_GCJ
8139# -----------
8140AC_DEFUN([LT_PROG_GCJ],
8141[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
8142 [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
8143 [AC_CHECK_TOOL(GCJ, gcj,)
8144 test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
8145 AC_SUBST(GCJFLAGS)])])[]dnl
8146])
8147
8148# Old name:
8149AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
8150dnl aclocal-1.4 backwards compatibility:
8151dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
8152
8153
8154# LT_PROG_GO
8155# ----------
8156AC_DEFUN([LT_PROG_GO],
8157[AC_CHECK_TOOL(GOC, gccgo,)
8158])
8159
8160
8161# LT_PROG_RC
8162# ----------
8163AC_DEFUN([LT_PROG_RC],
8164[AC_CHECK_TOOL(RC, windres,)
8165])
8166
8167# Old name:
8168AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
8169dnl aclocal-1.4 backwards compatibility:
8170dnl AC_DEFUN([LT_AC_PROG_RC], [])
8171
8172
8173# _LT_DECL_EGREP
8174# --------------
8175# If we don't have a new enough Autoconf to choose the best grep
8176# available, choose the one first in the user's PATH.
8177m4_defun([_LT_DECL_EGREP],
8178[AC_REQUIRE([AC_PROG_EGREP])dnl
8179AC_REQUIRE([AC_PROG_FGREP])dnl
8180test -z "$GREP" && GREP=grep
8181_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
8182_LT_DECL([], [EGREP], [1], [An ERE matcher])
8183_LT_DECL([], [FGREP], [1], [A literal string matcher])
8184dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
8185AC_SUBST([GREP])
8186])
8187
8188
8189# _LT_DECL_OBJDUMP
8190# --------------
8191# If we don't have a new enough Autoconf to choose the best objdump
8192# available, choose the one first in the user's PATH.
8193m4_defun([_LT_DECL_OBJDUMP],
8194[AC_CHECK_TOOL(OBJDUMP, objdump, false)
8195test -z "$OBJDUMP" && OBJDUMP=objdump
8196_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
8197AC_SUBST([OBJDUMP])
8198])
8199
8200# _LT_DECL_DLLTOOL
8201# ----------------
8202# Ensure DLLTOOL variable is set.
8203m4_defun([_LT_DECL_DLLTOOL],
8204[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
8205test -z "$DLLTOOL" && DLLTOOL=dlltool
8206_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
8207AC_SUBST([DLLTOOL])
8208])
8209
8210# _LT_DECL_SED
8211# ------------
8212# Check for a fully-functional sed program, that truncates
8213# as few characters as possible. Prefer GNU sed if found.
8214m4_defun([_LT_DECL_SED],
8215[AC_PROG_SED
8216test -z "$SED" && SED=sed
8217Xsed="$SED -e 1s/^X//"
8218_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
8219_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
8220 [Sed that helps us avoid accidentally triggering echo(1) options like -n])
8221])# _LT_DECL_SED
8222
8223m4_ifndef([AC_PROG_SED], [
8224############################################################
8225# NOTE: This macro has been submitted for inclusion into #
8226# GNU Autoconf as AC_PROG_SED. When it is available in #
8227# a released version of Autoconf we should remove this #
8228# macro and use it instead. #
8229############################################################
8230
8231m4_defun([AC_PROG_SED],
8232[AC_MSG_CHECKING([for a sed that does not truncate output])
8233AC_CACHE_VAL(lt_cv_path_SED,
8234[# Loop through the user's path and test for sed and gsed.
8235# Then use that list of sed's as ones to test for truncation.
8236as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8237for as_dir in $PATH
8238do
8239 IFS=$as_save_IFS
8240 test -z "$as_dir" && as_dir=.
8241 for lt_ac_prog in sed gsed; do
8242 for ac_exec_ext in '' $ac_executable_extensions; do
8243 if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
8244 lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
8245 fi
8246 done
8247 done
8248done
8249IFS=$as_save_IFS
8250lt_ac_max=0
8251lt_ac_count=0
8252# Add /usr/xpg4/bin/sed as it is typically found on Solaris
8253# along with /bin/sed that truncates output.
8254for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
8255 test ! -f "$lt_ac_sed" && continue
8256 cat /dev/null > conftest.in
8257 lt_ac_count=0
8258 echo $ECHO_N "0123456789$ECHO_C" >conftest.in
8259 # Check for GNU sed and select it if it is found.
8260 if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
8261 lt_cv_path_SED=$lt_ac_sed
8262 break
8263 fi
8264 while true; do
8265 cat conftest.in conftest.in >conftest.tmp
8266 mv conftest.tmp conftest.in
8267 cp conftest.in conftest.nl
8268 echo >>conftest.nl
8269 $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
8270 cmp -s conftest.out conftest.nl || break
8271 # 10000 chars as input seems more than enough
8272 test 10 -lt "$lt_ac_count" && break
8273 lt_ac_count=`expr $lt_ac_count + 1`
8274 if test "$lt_ac_count" -gt "$lt_ac_max"; then
8275 lt_ac_max=$lt_ac_count
8276 lt_cv_path_SED=$lt_ac_sed
8277 fi
8278 done
8279done
8280])
8281SED=$lt_cv_path_SED
8282AC_SUBST([SED])
8283AC_MSG_RESULT([$SED])
8284])#AC_PROG_SED
8285])#m4_ifndef
8286
8287# Old name:
8288AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
8289dnl aclocal-1.4 backwards compatibility:
8290dnl AC_DEFUN([LT_AC_PROG_SED], [])
8291
8292
8293# _LT_CHECK_SHELL_FEATURES
8294# ------------------------
8295# Find out whether the shell is Bourne or XSI compatible,
8296# or has some other useful features.
8297m4_defun([_LT_CHECK_SHELL_FEATURES],
8298[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
8299 lt_unset=unset
8300else
8301 lt_unset=false
8302fi
8303_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
8304
8305# test EBCDIC or ASCII
8306case `echo X|tr X '\101'` in
8307 A) # ASCII based system
8308 # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
8309 lt_SP2NL='tr \040 \012'
8310 lt_NL2SP='tr \015\012 \040\040'
8311 ;;
8312 *) # EBCDIC based system
8313 lt_SP2NL='tr \100 \n'
8314 lt_NL2SP='tr \r\n \100\100'
8315 ;;
8316esac
8317_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
8318_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
8319])# _LT_CHECK_SHELL_FEATURES
8320
8321
8322# _LT_PATH_CONVERSION_FUNCTIONS
8323# -----------------------------
8324# Determine what file name conversion functions should be used by
8325# func_to_host_file (and, implicitly, by func_to_host_path). These are needed
8326# for certain cross-compile configurations and native mingw.
8327m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
8328[AC_REQUIRE([AC_CANONICAL_HOST])dnl
8329AC_REQUIRE([AC_CANONICAL_BUILD])dnl
8330AC_MSG_CHECKING([how to convert $build file names to $host format])
8331AC_CACHE_VAL(lt_cv_to_host_file_cmd,
8332[case $host in
8333 *-*-mingw* )
8334 case $build in
8335 *-*-mingw* ) # actually msys
8336 lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
8337 ;;
8338 *-*-cygwin* )
8339 lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
8340 ;;
8341 * ) # otherwise, assume *nix
8342 lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
8343 ;;
8344 esac
8345 ;;
8346 *-*-cygwin* )
8347 case $build in
8348 *-*-mingw* ) # actually msys
8349 lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
8350 ;;
8351 *-*-cygwin* )
8352 lt_cv_to_host_file_cmd=func_convert_file_noop
8353 ;;
8354 * ) # otherwise, assume *nix
8355 lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
8356 ;;
8357 esac
8358 ;;
8359 * ) # unhandled hosts (and "normal" native builds)
8360 lt_cv_to_host_file_cmd=func_convert_file_noop
8361 ;;
8362esac
8363])
8364to_host_file_cmd=$lt_cv_to_host_file_cmd
8365AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
8366_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
8367 [0], [convert $build file names to $host format])dnl
8368
8369AC_MSG_CHECKING([how to convert $build file names to toolchain format])
8370AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
8371[#assume ordinary cross tools, or native build.
8372lt_cv_to_tool_file_cmd=func_convert_file_noop
8373case $host in
8374 *-*-mingw* )
8375 case $build in
8376 *-*-mingw* ) # actually msys
8377 lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
8378 ;;
8379 esac
8380 ;;
8381esac
8382])
8383to_tool_file_cmd=$lt_cv_to_tool_file_cmd
8384AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
8385_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
8386 [0], [convert $build files to toolchain format])dnl
8387])# _LT_PATH_CONVERSION_FUNCTIONS
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
deleted file mode 100644
index 94b0829..0000000
--- a/m4/ltoptions.m4
+++ /dev/null
@@ -1,437 +0,0 @@
1# Helper functions for option handling. -*- Autoconf -*-
2#
3# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
4# Foundation, Inc.
5# Written by Gary V. Vaughan, 2004
6#
7# This file is free software; the Free Software Foundation gives
8# unlimited permission to copy and/or distribute it, with or without
9# modifications, as long as this notice is preserved.
10
11# serial 8 ltoptions.m4
12
13# This is to help aclocal find these macros, as it can't see m4_define.
14AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
15
16
17# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
18# ------------------------------------------
19m4_define([_LT_MANGLE_OPTION],
20[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
21
22
23# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
24# ---------------------------------------
25# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
26# matching handler defined, dispatch to it. Other OPTION-NAMEs are
27# saved as a flag.
28m4_define([_LT_SET_OPTION],
29[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
30m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
31 _LT_MANGLE_DEFUN([$1], [$2]),
32 [m4_warning([Unknown $1 option '$2'])])[]dnl
33])
34
35
36# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
37# ------------------------------------------------------------
38# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
39m4_define([_LT_IF_OPTION],
40[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
41
42
43# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
44# -------------------------------------------------------
45# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
46# are set.
47m4_define([_LT_UNLESS_OPTIONS],
48[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
49 [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
50 [m4_define([$0_found])])])[]dnl
51m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
52])[]dnl
53])
54
55
56# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
57# ----------------------------------------
58# OPTION-LIST is a space-separated list of Libtool options associated
59# with MACRO-NAME. If any OPTION has a matching handler declared with
60# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
61# the unknown option and exit.
62m4_defun([_LT_SET_OPTIONS],
63[# Set options
64m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
65 [_LT_SET_OPTION([$1], _LT_Option)])
66
67m4_if([$1],[LT_INIT],[
68 dnl
69 dnl Simply set some default values (i.e off) if boolean options were not
70 dnl specified:
71 _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
72 ])
73 _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
74 ])
75 dnl
76 dnl If no reference was made to various pairs of opposing options, then
77 dnl we run the default mode handler for the pair. For example, if neither
78 dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
79 dnl archives by default:
80 _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
81 _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
82 _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
83 _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
84 [_LT_ENABLE_FAST_INSTALL])
85 _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
86 [_LT_WITH_AIX_SONAME([aix])])
87 ])
88])# _LT_SET_OPTIONS
89
90
91## --------------------------------- ##
92## Macros to handle LT_INIT options. ##
93## --------------------------------- ##
94
95# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
96# -----------------------------------------
97m4_define([_LT_MANGLE_DEFUN],
98[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
99
100
101# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
102# -----------------------------------------------
103m4_define([LT_OPTION_DEFINE],
104[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
105])# LT_OPTION_DEFINE
106
107
108# dlopen
109# ------
110LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
111])
112
113AU_DEFUN([AC_LIBTOOL_DLOPEN],
114[_LT_SET_OPTION([LT_INIT], [dlopen])
115AC_DIAGNOSE([obsolete],
116[$0: Remove this warning and the call to _LT_SET_OPTION when you
117put the 'dlopen' option into LT_INIT's first parameter.])
118])
119
120dnl aclocal-1.4 backwards compatibility:
121dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
122
123
124# win32-dll
125# ---------
126# Declare package support for building win32 dll's.
127LT_OPTION_DEFINE([LT_INIT], [win32-dll],
128[enable_win32_dll=yes
129
130case $host in
131*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
132 AC_CHECK_TOOL(AS, as, false)
133 AC_CHECK_TOOL(DLLTOOL, dlltool, false)
134 AC_CHECK_TOOL(OBJDUMP, objdump, false)
135 ;;
136esac
137
138test -z "$AS" && AS=as
139_LT_DECL([], [AS], [1], [Assembler program])dnl
140
141test -z "$DLLTOOL" && DLLTOOL=dlltool
142_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
143
144test -z "$OBJDUMP" && OBJDUMP=objdump
145_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
146])# win32-dll
147
148AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
149[AC_REQUIRE([AC_CANONICAL_HOST])dnl
150_LT_SET_OPTION([LT_INIT], [win32-dll])
151AC_DIAGNOSE([obsolete],
152[$0: Remove this warning and the call to _LT_SET_OPTION when you
153put the 'win32-dll' option into LT_INIT's first parameter.])
154])
155
156dnl aclocal-1.4 backwards compatibility:
157dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
158
159
160# _LT_ENABLE_SHARED([DEFAULT])
161# ----------------------------
162# implement the --enable-shared flag, and supports the 'shared' and
163# 'disable-shared' LT_INIT options.
164# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
165m4_define([_LT_ENABLE_SHARED],
166[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
167AC_ARG_ENABLE([shared],
168 [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
169 [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
170 [p=${PACKAGE-default}
171 case $enableval in
172 yes) enable_shared=yes ;;
173 no) enable_shared=no ;;
174 *)
175 enable_shared=no
176 # Look at the argument we got. We use all the common list separators.
177 lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
178 for pkg in $enableval; do
179 IFS=$lt_save_ifs
180 if test "X$pkg" = "X$p"; then
181 enable_shared=yes
182 fi
183 done
184 IFS=$lt_save_ifs
185 ;;
186 esac],
187 [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
188
189 _LT_DECL([build_libtool_libs], [enable_shared], [0],
190 [Whether or not to build shared libraries])
191])# _LT_ENABLE_SHARED
192
193LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
194LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
195
196# Old names:
197AC_DEFUN([AC_ENABLE_SHARED],
198[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
199])
200
201AC_DEFUN([AC_DISABLE_SHARED],
202[_LT_SET_OPTION([LT_INIT], [disable-shared])
203])
204
205AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
206AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
207
208dnl aclocal-1.4 backwards compatibility:
209dnl AC_DEFUN([AM_ENABLE_SHARED], [])
210dnl AC_DEFUN([AM_DISABLE_SHARED], [])
211
212
213
214# _LT_ENABLE_STATIC([DEFAULT])
215# ----------------------------
216# implement the --enable-static flag, and support the 'static' and
217# 'disable-static' LT_INIT options.
218# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
219m4_define([_LT_ENABLE_STATIC],
220[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
221AC_ARG_ENABLE([static],
222 [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
223 [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
224 [p=${PACKAGE-default}
225 case $enableval in
226 yes) enable_static=yes ;;
227 no) enable_static=no ;;
228 *)
229 enable_static=no
230 # Look at the argument we got. We use all the common list separators.
231 lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
232 for pkg in $enableval; do
233 IFS=$lt_save_ifs
234 if test "X$pkg" = "X$p"; then
235 enable_static=yes
236 fi
237 done
238 IFS=$lt_save_ifs
239 ;;
240 esac],
241 [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
242
243 _LT_DECL([build_old_libs], [enable_static], [0],
244 [Whether or not to build static libraries])
245])# _LT_ENABLE_STATIC
246
247LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
248LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
249
250# Old names:
251AC_DEFUN([AC_ENABLE_STATIC],
252[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
253])
254
255AC_DEFUN([AC_DISABLE_STATIC],
256[_LT_SET_OPTION([LT_INIT], [disable-static])
257])
258
259AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
260AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
261
262dnl aclocal-1.4 backwards compatibility:
263dnl AC_DEFUN([AM_ENABLE_STATIC], [])
264dnl AC_DEFUN([AM_DISABLE_STATIC], [])
265
266
267
268# _LT_ENABLE_FAST_INSTALL([DEFAULT])
269# ----------------------------------
270# implement the --enable-fast-install flag, and support the 'fast-install'
271# and 'disable-fast-install' LT_INIT options.
272# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
273m4_define([_LT_ENABLE_FAST_INSTALL],
274[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
275AC_ARG_ENABLE([fast-install],
276 [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
277 [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
278 [p=${PACKAGE-default}
279 case $enableval in
280 yes) enable_fast_install=yes ;;
281 no) enable_fast_install=no ;;
282 *)
283 enable_fast_install=no
284 # Look at the argument we got. We use all the common list separators.
285 lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
286 for pkg in $enableval; do
287 IFS=$lt_save_ifs
288 if test "X$pkg" = "X$p"; then
289 enable_fast_install=yes
290 fi
291 done
292 IFS=$lt_save_ifs
293 ;;
294 esac],
295 [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
296
297_LT_DECL([fast_install], [enable_fast_install], [0],
298 [Whether or not to optimize for fast installation])dnl
299])# _LT_ENABLE_FAST_INSTALL
300
301LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
302LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
303
304# Old names:
305AU_DEFUN([AC_ENABLE_FAST_INSTALL],
306[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
307AC_DIAGNOSE([obsolete],
308[$0: Remove this warning and the call to _LT_SET_OPTION when you put
309the 'fast-install' option into LT_INIT's first parameter.])
310])
311
312AU_DEFUN([AC_DISABLE_FAST_INSTALL],
313[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
314AC_DIAGNOSE([obsolete],
315[$0: Remove this warning and the call to _LT_SET_OPTION when you put
316the 'disable-fast-install' option into LT_INIT's first parameter.])
317])
318
319dnl aclocal-1.4 backwards compatibility:
320dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
321dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
322
323
324# _LT_WITH_AIX_SONAME([DEFAULT])
325# ----------------------------------
326# implement the --with-aix-soname flag, and support the `aix-soname=aix'
327# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
328# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'.
329m4_define([_LT_WITH_AIX_SONAME],
330[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
331shared_archive_member_spec=
332case $host,$enable_shared in
333power*-*-aix[[5-9]]*,yes)
334 AC_MSG_CHECKING([which variant of shared library versioning to provide])
335 AC_ARG_WITH([aix-soname],
336 [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
337 [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
338 [case $withval in
339 aix|svr4|both)
340 ;;
341 *)
342 AC_MSG_ERROR([Unknown argument to --with-aix-soname])
343 ;;
344 esac
345 lt_cv_with_aix_soname=$with_aix_soname],
346 [AC_CACHE_VAL([lt_cv_with_aix_soname],
347 [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
348 with_aix_soname=$lt_cv_with_aix_soname])
349 AC_MSG_RESULT([$with_aix_soname])
350 if test aix != "$with_aix_soname"; then
351 # For the AIX way of multilib, we name the shared archive member
352 # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
353 # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
354 # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
355 # the AIX toolchain works better with OBJECT_MODE set (default 32).
356 if test 64 = "${OBJECT_MODE-32}"; then
357 shared_archive_member_spec=shr_64
358 else
359 shared_archive_member_spec=shr
360 fi
361 fi
362 ;;
363*)
364 with_aix_soname=aix
365 ;;
366esac
367
368_LT_DECL([], [shared_archive_member_spec], [0],
369 [Shared archive member basename, for filename based shared library versioning on AIX])dnl
370])# _LT_WITH_AIX_SONAME
371
372LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
373LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
374LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
375
376
377# _LT_WITH_PIC([MODE])
378# --------------------
379# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
380# LT_INIT options.
381# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'.
382m4_define([_LT_WITH_PIC],
383[AC_ARG_WITH([pic],
384 [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
385 [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
386 [lt_p=${PACKAGE-default}
387 case $withval in
388 yes|no) pic_mode=$withval ;;
389 *)
390 pic_mode=default
391 # Look at the argument we got. We use all the common list separators.
392 lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
393 for lt_pkg in $withval; do
394 IFS=$lt_save_ifs
395 if test "X$lt_pkg" = "X$lt_p"; then
396 pic_mode=yes
397 fi
398 done
399 IFS=$lt_save_ifs
400 ;;
401 esac],
402 [pic_mode=m4_default([$1], [default])])
403
404_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
405])# _LT_WITH_PIC
406
407LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
408LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
409
410# Old name:
411AU_DEFUN([AC_LIBTOOL_PICMODE],
412[_LT_SET_OPTION([LT_INIT], [pic-only])
413AC_DIAGNOSE([obsolete],
414[$0: Remove this warning and the call to _LT_SET_OPTION when you
415put the 'pic-only' option into LT_INIT's first parameter.])
416])
417
418dnl aclocal-1.4 backwards compatibility:
419dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
420
421## ----------------- ##
422## LTDL_INIT Options ##
423## ----------------- ##
424
425m4_define([_LTDL_MODE], [])
426LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
427 [m4_define([_LTDL_MODE], [nonrecursive])])
428LT_OPTION_DEFINE([LTDL_INIT], [recursive],
429 [m4_define([_LTDL_MODE], [recursive])])
430LT_OPTION_DEFINE([LTDL_INIT], [subproject],
431 [m4_define([_LTDL_MODE], [subproject])])
432
433m4_define([_LTDL_TYPE], [])
434LT_OPTION_DEFINE([LTDL_INIT], [installable],
435 [m4_define([_LTDL_TYPE], [installable])])
436LT_OPTION_DEFINE([LTDL_INIT], [convenience],
437 [m4_define([_LTDL_TYPE], [convenience])])
diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4
deleted file mode 100644
index 48bc934..0000000
--- a/m4/ltsugar.m4
+++ /dev/null
@@ -1,124 +0,0 @@
1# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
2#
3# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
4# Foundation, Inc.
5# Written by Gary V. Vaughan, 2004
6#
7# This file is free software; the Free Software Foundation gives
8# unlimited permission to copy and/or distribute it, with or without
9# modifications, as long as this notice is preserved.
10
11# serial 6 ltsugar.m4
12
13# This is to help aclocal find these macros, as it can't see m4_define.
14AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
15
16
17# lt_join(SEP, ARG1, [ARG2...])
18# -----------------------------
19# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
20# associated separator.
21# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
22# versions in m4sugar had bugs.
23m4_define([lt_join],
24[m4_if([$#], [1], [],
25 [$#], [2], [[$2]],
26 [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
27m4_define([_lt_join],
28[m4_if([$#$2], [2], [],
29 [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
30
31
32# lt_car(LIST)
33# lt_cdr(LIST)
34# ------------
35# Manipulate m4 lists.
36# These macros are necessary as long as will still need to support
37# Autoconf-2.59, which quotes differently.
38m4_define([lt_car], [[$1]])
39m4_define([lt_cdr],
40[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
41 [$#], 1, [],
42 [m4_dquote(m4_shift($@))])])
43m4_define([lt_unquote], $1)
44
45
46# lt_append(MACRO-NAME, STRING, [SEPARATOR])
47# ------------------------------------------
48# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
49# Note that neither SEPARATOR nor STRING are expanded; they are appended
50# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
51# No SEPARATOR is output if MACRO-NAME was previously undefined (different
52# than defined and empty).
53#
54# This macro is needed until we can rely on Autoconf 2.62, since earlier
55# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
56m4_define([lt_append],
57[m4_define([$1],
58 m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
59
60
61
62# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
63# ----------------------------------------------------------
64# Produce a SEP delimited list of all paired combinations of elements of
65# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
66# has the form PREFIXmINFIXSUFFIXn.
67# Needed until we can rely on m4_combine added in Autoconf 2.62.
68m4_define([lt_combine],
69[m4_if(m4_eval([$# > 3]), [1],
70 [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
71[[m4_foreach([_Lt_prefix], [$2],
72 [m4_foreach([_Lt_suffix],
73 ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
74 [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
75
76
77# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
78# -----------------------------------------------------------------------
79# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
80# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
81m4_define([lt_if_append_uniq],
82[m4_ifdef([$1],
83 [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
84 [lt_append([$1], [$2], [$3])$4],
85 [$5])],
86 [lt_append([$1], [$2], [$3])$4])])
87
88
89# lt_dict_add(DICT, KEY, VALUE)
90# -----------------------------
91m4_define([lt_dict_add],
92[m4_define([$1($2)], [$3])])
93
94
95# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
96# --------------------------------------------
97m4_define([lt_dict_add_subkey],
98[m4_define([$1($2:$3)], [$4])])
99
100
101# lt_dict_fetch(DICT, KEY, [SUBKEY])
102# ----------------------------------
103m4_define([lt_dict_fetch],
104[m4_ifval([$3],
105 m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
106 m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
107
108
109# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
110# -----------------------------------------------------------------
111m4_define([lt_if_dict_fetch],
112[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
113 [$5],
114 [$6])])
115
116
117# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
118# --------------------------------------------------------------
119m4_define([lt_dict_filter],
120[m4_if([$5], [], [],
121 [lt_join(m4_quote(m4_default([$4], [[, ]])),
122 lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
123 [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
124])
diff --git a/m4/ltversion.m4 b/m4/ltversion.m4
deleted file mode 100644
index fa04b52..0000000
--- a/m4/ltversion.m4
+++ /dev/null
@@ -1,23 +0,0 @@
1# ltversion.m4 -- version numbers -*- Autoconf -*-
2#
3# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
4# Written by Scott James Remnant, 2004
5#
6# This file is free software; the Free Software Foundation gives
7# unlimited permission to copy and/or distribute it, with or without
8# modifications, as long as this notice is preserved.
9
10# @configure_input@
11
12# serial 4179 ltversion.m4
13# This file is part of GNU Libtool
14
15m4_define([LT_PACKAGE_VERSION], [2.4.6])
16m4_define([LT_PACKAGE_REVISION], [2.4.6])
17
18AC_DEFUN([LTVERSION_VERSION],
19[macro_version='2.4.6'
20macro_revision='2.4.6'
21_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
22_LT_DECL(, macro_revision, 0)
23])
diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4
deleted file mode 100644
index c6b26f8..0000000
--- a/m4/lt~obsolete.m4
+++ /dev/null
@@ -1,99 +0,0 @@
1# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
2#
3# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
4# Foundation, Inc.
5# Written by Scott James Remnant, 2004.
6#
7# This file is free software; the Free Software Foundation gives
8# unlimited permission to copy and/or distribute it, with or without
9# modifications, as long as this notice is preserved.
10
11# serial 5 lt~obsolete.m4
12
13# These exist entirely to fool aclocal when bootstrapping libtool.
14#
15# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
16# which have later been changed to m4_define as they aren't part of the
17# exported API, or moved to Autoconf or Automake where they belong.
18#
19# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
20# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
21# using a macro with the same name in our local m4/libtool.m4 it'll
22# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
23# and doesn't know about Autoconf macros at all.)
24#
25# So we provide this file, which has a silly filename so it's always
26# included after everything else. This provides aclocal with the
27# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
28# because those macros already exist, or will be overwritten later.
29# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
30#
31# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
32# Yes, that means every name once taken will need to remain here until
33# we give up compatibility with versions before 1.7, at which point
34# we need to keep only those names which we still refer to.
35
36# This is to help aclocal find these macros, as it can't see m4_define.
37AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
38
39m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
40m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
41m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
42m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
43m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
44m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
45m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
46m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
47m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
48m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
49m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
50m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
51m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
52m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
53m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
54m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
55m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
56m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
57m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
58m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
59m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
60m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
61m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
62m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
63m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
64m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
65m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
66m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
67m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
68m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
69m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
70m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
71m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
72m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
73m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
74m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
75m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
76m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
77m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
78m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
79m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
80m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
81m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
82m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
83m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
84m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
85m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
86m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
87m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
88m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
89m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
90m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
91m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
92m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
93m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
94m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
95m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
96m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
97m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
98m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
99m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
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
diff --git a/src/ext/ext_api.c b/src/ext/ext_api.c
index 99498bd..0ea7797 100644
--- a/src/ext/ext_api.c
+++ b/src/ext/ext_api.c
@@ -29,6 +29,10 @@
29#include <gnunet/gnunet_util_lib.h> 29#include <gnunet/gnunet_util_lib.h>
30#include "gnunet_ext_service.h" 30#include "gnunet_ext_service.h"
31 31
32 32void
33EXT_TEST_new_func (void* intarg)
34{
35 return;
36}
33 37
34/* end of ext_api.c */ 38/* end of ext_api.c */
diff --git a/src/ext/gnunet-service-ext.c b/src/ext/gnunet-service-ext.c
index d434182..8eb569e 100644
--- a/src/ext/gnunet-service-ext.c
+++ b/src/ext/gnunet-service-ext.c
@@ -23,14 +23,13 @@
23 * @brief ext service implementation 23 * @brief ext service implementation
24 * @author Christian Grothoff 24 * @author Christian Grothoff
25 */ 25 */
26#include <gnunet/platform.h>
27#include "gnunet_ext_config.h"
28#include <stddef.h> 26#include <stddef.h>
29 27
30#if HAVE_NETINET_IN_H 28#if HAVE_NETINET_IN_H
31#include <netinet/in.h> 29#include <netinet/in.h>
32#endif 30#endif
33 31
32#include "gnunet_ext_config.h"
34#include <gnunet/gnunet_util_lib.h> 33#include <gnunet/gnunet_util_lib.h>
35#include "gnunet_protocols_ext.h" 34#include "gnunet_protocols_ext.h"
36 35
@@ -64,8 +63,7 @@ static const struct GNUNET_CONFIGURATION_Handle *cfg;
64/** 63/**
65 * This structure holds informations about the project. 64 * This structure holds informations about the project.
66 */ 65 */
67static const struct GNUNET_OS_ProjectData gnunetext_pd = 66static const struct GNUNET_OS_ProjectData gnunetext_pd = {
68{
69 .libname = "libgnunetext", 67 .libname = "libgnunetext",
70 .project_dirname = "gnunet-ext", 68 .project_dirname = "gnunet-ext",
71 .binary_name = "gnunet-service-ext", 69 .binary_name = "gnunet-service-ext",
@@ -95,6 +93,7 @@ project_data_initialize (void)
95 GNUNET_OS_init (&gnunetext_pd); 93 GNUNET_OS_init (&gnunetext_pd);
96} 94}
97 95
96
98/** 97/**
99 * Handle EXT-message. 98 * Handle EXT-message.
100 * 99 *
@@ -141,8 +140,8 @@ shutdown_task (void *cls)
141 */ 140 */
142static void 141static void
143run (void *cls, 142run (void *cls,
144 struct GNUNET_SERVER_Handle *server, 143 const struct GNUNET_CONFIGURATION_Handle *c,
145 const struct GNUNET_CONFIGURATION_Handle *c) 144 struct GNUNET_SERVICE_Handle *service)
146{ 145{
147 cfg = c; 146 cfg = c;
148 GNUNET_SCHEDULER_add_shutdown (&shutdown_task, 147 GNUNET_SCHEDULER_add_shutdown (&shutdown_task,
@@ -160,8 +159,8 @@ run (void *cls,
160 */ 159 */
161static void * 160static void *
162client_connect_cb (void *cls, 161client_connect_cb (void *cls,
163 struct GNUNET_SERVICE_Client *c, 162 struct GNUNET_SERVICE_Client *c,
164 struct GNUNET_MQ_Handle *mq) 163 struct GNUNET_MQ_Handle *mq)
165{ 164{
166 struct ClientContext *cc; 165 struct ClientContext *cc;
167 166
@@ -182,8 +181,8 @@ client_connect_cb (void *cls,
182 */ 181 */
183static void 182static void
184client_disconnect_cb (void *cls, 183client_disconnect_cb (void *cls,
185 struct GNUNET_SERVICE_Client *c, 184 struct GNUNET_SERVICE_Client *c,
186 void *internal_cls) 185 void *internal_cls)
187{ 186{
188 struct ClientContext *cc = internal_cls; 187 struct ClientContext *cc = internal_cls;
189 188
@@ -197,16 +196,16 @@ client_disconnect_cb (void *cls,
197 * Define "main" method using service macro. 196 * Define "main" method using service macro.
198 */ 197 */
199GNUNET_SERVICE_MAIN 198GNUNET_SERVICE_MAIN
200("ext", 199 ("ext",
201 GNUNET_SERVICE_OPTION_NONE, 200 GNUNET_SERVICE_OPTION_NONE,
202 &run, 201 &run,
203 &client_connect_cb, 202 &client_connect_cb,
204 &client_disconnect_cb, 203 &client_disconnect_cb,
205 NULL, 204 NULL,
206 GNUNET_MQ_hd_fixed_size (ext, 205 GNUNET_MQ_hd_fixed_size (ext,
207 GNUNET_MESSAGE_TYPE_EXT, 206 GNUNET_MESSAGE_TYPE_EXT,
208 struct GNUNET_MessageHeader, 207 struct GNUNET_MessageHeader,
209 NULL), 208 NULL),
210 GNUNET_MQ_handler_end ()); 209 GNUNET_MQ_handler_end ());
211 210
212/* end of gnunet-service-ext.c */ 211/* end of gnunet-service-ext.c */